Blender modifications for Cycles integration.
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Wed, 27 Apr 2011 14:36:02 +0000 (14:36 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Wed, 27 Apr 2011 14:36:02 +0000 (14:36 +0000)
Some notes about code status:

* The Blender modifications were fairly quickly put together, much more code
  polish and work is needed to get this to a state where it can be committed
  to trunk. Files created with this version may not work in future versions.

* Only simple path tracing is supported currently, but we intend to provide
  finer control, and more options where it makes sense.

* For GPU rendering, only CUDA works currently. The intention is to have the
  same kernel code compile for C++/OpenCL/CUDA, some more work is needed to
  get OpenCL functional.

* There are two shading backends: GPU compatible and Open Shading Language.
  Unfortunately, OSL only runs on the CPU currently, getting this to run on
  the GPU would be a major undertaking, and is unlikely to be supported soon.
  Additionally, it's not possible yet to write custom OSL shaders.

* There is some code for adaptive subdivision and displacement, but it's far
  from finished. The intention is to eventually have a nice unified bump and
  displacement system.

* The code currently has a number of fairly heavy dependencies: Boost,
  OpenImageIO, GLEW, GLUT, and optionally OSL, Partio. This makes it difficult
  to compile, we'll try to eliminate some, it may take a while before it
  becomes easy to compile this.

135 files changed:
CMakeLists.txt
intern/cycles/device/device_network.cpp
intern/guardedalloc/MEM_guardedalloc.h
release/scripts/startup/bl_ui/properties_particle.py
release/scripts/startup/bl_ui/space_node.py
source/blender/blenkernel/BKE_depsgraph.h
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/BKE_object.h
source/blender/blenkernel/BKE_subsurf.h
source/blender/blenkernel/BKE_world.h
source/blender/blenkernel/intern/anim_sys.c
source/blender/blenkernel/intern/depsgraph.c
source/blender/blenkernel/intern/material.c
source/blender/blenkernel/intern/mesh.c
source/blender/blenkernel/intern/multires.c
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/scene.c
source/blender/blenkernel/intern/shrinkwrap.c
source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/blenkernel/intern/world.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/editors/datafiles/bfont.ttf.c
source/blender/editors/datafiles/bmonofont.ttf.c
source/blender/editors/datafiles/startup.blend.c
source/blender/editors/include/ED_node.h
source/blender/editors/include/ED_render.h
source/blender/editors/include/UI_interface.h
source/blender/editors/interface/CMakeLists.txt
source/blender/editors/interface/interface_handlers.c
source/blender/editors/interface/interface_icons.c
source/blender/editors/interface/interface_intern.h
source/blender/editors/interface/interface_layout.c
source/blender/editors/interface/interface_node.c [new file with mode: 0644]
source/blender/editors/interface/interface_panel.c
source/blender/editors/interface/interface_widgets.c
source/blender/editors/interface/view2d.c
source/blender/editors/object/object_add.c
source/blender/editors/render/render_preview.c
source/blender/editors/render/render_shading.c
source/blender/editors/screen/area.c
source/blender/editors/space_buttons/buttons_header.c
source/blender/editors/space_buttons/buttons_intern.h
source/blender/editors/space_buttons/space_buttons.c
source/blender/editors/space_node/CMakeLists.txt
source/blender/editors/space_node/drawnode.c
source/blender/editors/space_node/node_draw.c
source/blender/editors/space_node/node_edit.c
source/blender/editors/space_node/node_header.c
source/blender/editors/space_node/node_intern.h
source/blender/editors/space_node/node_layout.c [new file with mode: 0644]
source/blender/editors/space_node/node_ops.c
source/blender/editors/space_node/space_node.c
source/blender/editors/space_view3d/drawobject.c
source/blender/editors/space_view3d/space_view3d.c
source/blender/editors/space_view3d/view3d_draw.c
source/blender/makesdna/DNA_ID.h
source/blender/makesdna/DNA_image_types.h
source/blender/makesdna/DNA_lamp_types.h
source/blender/makesdna/DNA_node_types.h
source/blender/makesdna/DNA_object_types.h
source/blender/makesdna/DNA_space_types.h
source/blender/makesdna/DNA_view3d_types.h
source/blender/makesdna/DNA_world_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/RNA_define.h
source/blender/makesrna/RNA_types.h
source/blender/makesrna/intern/CMakeLists.txt
source/blender/makesrna/intern/makesrna.c
source/blender/makesrna/intern/rna_ID.c
source/blender/makesrna/intern/rna_access.c
source/blender/makesrna/intern/rna_animation.c
source/blender/makesrna/intern/rna_define.c
source/blender/makesrna/intern/rna_internal.h
source/blender/makesrna/intern/rna_internal_types.h
source/blender/makesrna/intern/rna_lamp.c
source/blender/makesrna/intern/rna_main_api.c
source/blender/makesrna/intern/rna_material.c
source/blender/makesrna/intern/rna_nodetree.c
source/blender/makesrna/intern/rna_nodetree_types.h
source/blender/makesrna/intern/rna_object_api.c
source/blender/makesrna/intern/rna_render.c
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_space.c
source/blender/makesrna/intern/rna_ui.c
source/blender/makesrna/intern/rna_ui_api.c
source/blender/makesrna/intern/rna_wm.c
source/blender/makesrna/intern/rna_world.c
source/blender/modifiers/intern/MOD_subsurf.c
source/blender/nodes/CMakeLists.txt
source/blender/nodes/SHD_node.h
source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_attribute.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_background.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_emission.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_geom.c
source/blender/nodes/intern/SHD_nodes/SHD_geometry.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c
source/blender/nodes/intern/SHD_nodes/SHD_light_path.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_math.c
source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_output_material.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_output_world.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c [new file with mode: 0644]
source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c [new file with mode: 0644]
source/blender/python/intern/bpy_rna.c
source/blender/render/CMakeLists.txt
source/blender/render/SConscript
source/blender/render/extern/include/RE_pipeline.h
source/blender/render/intern/source/pipeline.c
source/blender/windowmanager/intern/wm_draw.c
source/blender/windowmanager/intern/wm_event_system.c
source/creator/CMakeLists.txt

index 3711227..e24ce29 100644 (file)
@@ -90,6 +90,7 @@ enable_testing()
 
 set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "" FORCE )
 set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "" FORCE )
+set(INCLUDE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/include CACHE INTERNAL "" FORCE )
 
 #-----------------------------------------------------------------------------
 # Load some macros.
@@ -170,6 +171,7 @@ if(UNIX AND NOT APPLE)
        option(WITH_INSTALL_PORTABLE "Install redistributeable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON)
 endif()
 option(WITH_PYTHON_INSTALL       "Copy system python into the blender install folder" ON)
+option(WITH_API_INSTALL     "Copy API header files into the blender install folder" ON)
 
 # Debug
 option(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation tracking (only enable for development)" OFF)
index eb101cd..0feba34 100644 (file)
@@ -24,6 +24,8 @@
 
 CCL_NAMESPACE_BEGIN
 
+#ifdef WITH_NETWORK
+
 class NetworkDevice : public Device
 {
 public:
@@ -378,5 +380,7 @@ void Device::server_run()
        }
 }
 
+#endif
+
 CCL_NAMESPACE_END
 
index f96a49b..1bc7f7c 100644 (file)
 #ifndef MEM_MALLOCN_H
 #define MEM_MALLOCN_H
 
+#ifndef LIBEXPORT
+#ifdef _WIN32
+#define LIBEXPORT __declspec(dllexport)
+#else
+#define LIBEXPORT
+#endif
+#endif
+
 #include <stdio.h> /* needed for FILE* */
 #include "MEM_sys_types.h" /* needed for uintptr_t */
 
@@ -95,7 +103,7 @@ extern "C" {
        /**
         * Duplicates a block of memory, and returns a pointer to the
         * newly allocated block.  */
-       void *MEM_dupallocN(void *vmemh) WARN_UNUSED;
+       LIBEXPORT void *MEM_dupallocN(void *vmemh) WARN_UNUSED;
 
        /**
          * Reallocates a block of memory, and returns pointer to the newly
index 5037308..1876b86 100644 (file)
@@ -51,7 +51,7 @@ def particle_panel_poll(cls, context):
     if not settings:
         return False
 
-    return settings.is_fluid == False and (engine in cls.COMPAT_ENGINES)
+    return settings.is_fluid == False
 
 
 def particle_get_settings(context):
@@ -75,12 +75,11 @@ class ParticleButtonsPanel():
 class PARTICLE_PT_context_particles(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
         engine = context.scene.render.engine
-        return (context.particle_system or context.object or context.space_data.pin_id) and (engine in cls.COMPAT_ENGINES)
+        return (context.particle_system or context.object or context.space_data.pin_id)
 
     def draw(self, context):
         layout = self.layout
@@ -180,7 +179,6 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, bpy.types.Panel):
 
 class PARTICLE_PT_emission(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Emission"
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -250,7 +248,6 @@ class PARTICLE_PT_emission(ParticleButtonsPanel, bpy.types.Panel):
 class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Hair dynamics"
     bl_options = {'DEFAULT_CLOSED'}
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -260,7 +257,7 @@ class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, bpy.types.Panel):
             return False
         if psys.settings is None:
             return False
-        return psys.settings.type == 'HAIR' and (engine in cls.COMPAT_ENGINES)
+        return psys.settings.type == 'HAIR'
 
     def draw_header(self, context):
         #cloth = context.cloth.collision_settings
@@ -306,7 +303,6 @@ class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, bpy.types.Panel):
 class PARTICLE_PT_cache(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Cache"
     bl_options = {'DEFAULT_CLOSED'}
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -321,7 +317,7 @@ class PARTICLE_PT_cache(ParticleButtonsPanel, bpy.types.Panel):
         phystype = psys.settings.physics_type
         if phystype == 'NO' or phystype == 'KEYED':
             return False
-        return (psys.settings.type in {'EMITTER', 'REACTOR'} or (psys.settings.type == 'HAIR' and (psys.use_hair_dynamics or psys.point_cache.is_baked))) and engine in cls.COMPAT_ENGINES
+        return (psys.settings.type in {'EMITTER', 'REACTOR'} or (psys.settings.type == 'HAIR' and (psys.use_hair_dynamics or psys.point_cache.is_baked)))
 
     def draw(self, context):
         psys = context.particle_system
@@ -331,7 +327,6 @@ class PARTICLE_PT_cache(ParticleButtonsPanel, bpy.types.Panel):
 
 class PARTICLE_PT_velocity(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Velocity"
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -381,7 +376,6 @@ class PARTICLE_PT_velocity(ParticleButtonsPanel, bpy.types.Panel):
 
 class PARTICLE_PT_rotation(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Rotation"
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -430,7 +424,6 @@ class PARTICLE_PT_rotation(ParticleButtonsPanel, bpy.types.Panel):
 
 class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Physics"
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -645,7 +638,6 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel):
 
 class PARTICLE_PT_boidbrain(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Boid Brain"
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -657,7 +649,7 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, bpy.types.Panel):
             return False
         if psys != None and psys.point_cache.use_external:
             return False
-        return settings.physics_type == 'BOIDS' and engine in cls.COMPAT_ENGINES
+        return settings.physics_type == 'BOIDS'
 
     def draw(self, context):
         layout = self.layout
@@ -746,7 +738,6 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, bpy.types.Panel):
 
 class PARTICLE_PT_render(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Render"
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -755,7 +746,7 @@ class PARTICLE_PT_render(ParticleButtonsPanel, bpy.types.Panel):
         if settings is None:
             return False
 
-        return engine in cls.COMPAT_ENGINES
+        return True
 
     def draw(self, context):
         layout = self.layout
@@ -923,7 +914,6 @@ class PARTICLE_PT_render(ParticleButtonsPanel, bpy.types.Panel):
 class PARTICLE_PT_draw(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Display"
     bl_options = {'DEFAULT_CLOSED'}
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -931,7 +921,7 @@ class PARTICLE_PT_draw(ParticleButtonsPanel, bpy.types.Panel):
         engine = context.scene.render.engine
         if settings is None:
             return False
-        return engine in cls.COMPAT_ENGINES
+        return True
 
     def draw(self, context):
         layout = self.layout
@@ -985,7 +975,6 @@ class PARTICLE_PT_draw(ParticleButtonsPanel, bpy.types.Panel):
 class PARTICLE_PT_children(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Children"
     bl_options = {'DEFAULT_CLOSED'}
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -1085,7 +1074,6 @@ class PARTICLE_PT_children(ParticleButtonsPanel, bpy.types.Panel):
 class PARTICLE_PT_field_weights(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Field Weights"
     bl_options = {'DEFAULT_CLOSED'}
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -1106,7 +1094,6 @@ class PARTICLE_PT_field_weights(ParticleButtonsPanel, bpy.types.Panel):
 class PARTICLE_PT_force_fields(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Force Field Settings"
     bl_options = {'DEFAULT_CLOSED'}
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     def draw(self, context):
         layout = self.layout
@@ -1140,7 +1127,6 @@ class PARTICLE_PT_force_fields(ParticleButtonsPanel, bpy.types.Panel):
 class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, bpy.types.Panel):
     bl_label = "Vertexgroups"
     bl_options = {'DEFAULT_CLOSED'}
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
 
     @classmethod
     def poll(cls, context):
@@ -1209,7 +1195,6 @@ class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, bpy.types.Panel):
 
 
 class PARTICLE_PT_custom_props(ParticleButtonsPanel, PropertyPanel, bpy.types.Panel):
-    COMPAT_ENGINES = {'BLENDER_RENDER'}
     _context_path = "particle_system.settings"
     _property_type = bpy.types.ParticleSettings
 
index fed1cc4..29fe321 100644 (file)
@@ -41,13 +41,16 @@ class NODE_HT_header(bpy.types.Header):
         row = layout.row()
         row.prop(snode, "tree_type", text="", expand=True)
 
-        if snode.tree_type == 'MATERIAL':
-            ob = snode.id_from
-            snode_id = snode.id
-            if ob:
-                layout.template_ID(ob, "active_material", new="material.new")
-            if snode_id:
-                layout.prop(snode_id, "use_nodes")
+        if snode.tree_type == 'SHADER':
+            row.prop(snode, "shader_type", text="", expand=True)
+
+            if snode.shader_type == 'OBJECT':
+                ob = snode.id_from
+                snode_id = snode.id
+                if ob:
+                    layout.template_ID(ob, "active_material", new="material.new")
+                if snode_id:
+                    layout.prop(snode_id, "use_nodes")
 
         elif snode.tree_type == 'TEXTURE':
             row.prop(snode, "texture_type", text="", expand=True)
index 14251fb..9b2c1d1 100644 (file)
@@ -121,6 +121,10 @@ void       DAG_ids_flush_update(struct Main *bmain, int time);
 void   DAG_id_tag_update(struct ID *id, short flag);
                /* flush all tagged updates */
 void   DAG_ids_flush_tagged(struct Main *bmain);
+               /* clear ID recalc flags */
+void   DAG_ids_clear_recalc(struct Main *bmain);
+               /* test if any of this id type is tagged for update */
+int            DAG_id_type_tagged(struct Main *bmain, short idtype);
 
                /* (re)-create dependency graph for armature pose */
 void   DAG_pose_sort(struct Object *ob);
index a126f40..a2cfc03 100644 (file)
@@ -68,6 +68,7 @@ typedef struct bNodeSocketType {
        const char *name;
        float val1, val2, val3, val4;   /* default alloc value for inputs */
        float min, max;                                 /* default range for inputs */
+       int flag;
        
        /* after this line is used internal only */
        struct bNodeSocket *sock;               /* used during verify_types */
@@ -124,8 +125,12 @@ typedef struct bNodeType {
 #define NODE_CLASS_MATTE               9
 #define NODE_CLASS_DISTORT             10
 #define NODE_CLASS_OP_DYNAMIC  11
-#define NODE_CLASS_PATTERN 12
-#define NODE_CLASS_TEXTURE 13
+#define NODE_CLASS_PATTERN             12
+#define NODE_CLASS_TEXTURE             13
+#define NODE_CLASS_CLOSURE             14
+
+/* bNodeSocketType flag */
+#define SOCK_NO_VALUE                  1
 
 /* enum values for input/output */
 #define SOCK_IN                1
@@ -256,7 +261,7 @@ struct ShadeResult;
 #define SH_NODE_RGBTOBW                105
 #define SH_NODE_TEXTURE                106
 #define SH_NODE_NORMAL         107
-#define SH_NODE_GEOMETRY       108
+#define SH_NODE_GEOM           108
 #define SH_NODE_MAPPING                109
 #define SH_NODE_CURVE_VEC      110
 #define SH_NODE_CURVE_RGB      111
@@ -271,6 +276,39 @@ struct ShadeResult;
 #define SH_NODE_HUE_SAT                122
 #define NODE_DYNAMIC           123
 
+#define SH_NODE_OUTPUT_MATERIAL                        124
+#define SH_NODE_OUTPUT_WORLD                   125
+#define SH_NODE_OUTPUT_LAMP                            126
+#define SH_NODE_FRESNEL                                        127
+#define SH_NODE_MIX_CLOSURE                            128
+#define SH_NODE_ATTRIBUTE                              129
+#define SH_NODE_BACKGROUND                             130
+#define SH_NODE_BSDF_ANISOTROPIC               131
+#define SH_NODE_BSDF_DIFFUSE                   132
+#define SH_NODE_BSDF_GLOSSY                            133
+#define SH_NODE_BSDF_GLASS                             134
+#define SH_NODE_BSDF_TRANSLUCENT               137
+#define SH_NODE_BSDF_TRANSPARENT               138
+#define SH_NODE_BSDF_VELVET                            139
+#define SH_NODE_EMISSION                               140
+#define SH_NODE_GEOMETRY                               141
+#define SH_NODE_LIGHT_PATH                             142
+#define SH_NODE_TEX_IMAGE                              143
+#define SH_NODE_TEX_NOISE                              144
+#define SH_NODE_TEX_SKY                                        145
+#define SH_NODE_TEX_BLEND                              146
+#define SH_NODE_TEX_VORONOI                            147
+#define SH_NODE_TEX_MAGIC                              148
+#define SH_NODE_TEX_MARBLE                             149
+#define SH_NODE_TEX_CLOUDS                             150
+#define SH_NODE_TEX_WOOD                               151
+#define SH_NODE_TEX_MUSGRAVE                   152
+#define SH_NODE_TEX_STUCCI                             153
+#define SH_NODE_TEX_DISTNOISE                  154
+#define SH_NODE_TEX_COORD                              155
+#define SH_NODE_ADD_CLOSURE                            156
+#define SH_NODE_TEX_ENVIRONMENT                        157
+
 /* custom defines options for Material node */
 #define SH_NODE_MAT_DIFF   1
 #define SH_NODE_MAT_SPEC   2
index 3a98f89..a6b5c04 100644 (file)
@@ -83,6 +83,7 @@ float dof_camera(struct Object *ob);
        
 void *add_lamp(const char *name);
 struct Lamp *copy_lamp(struct Lamp *la);
+struct Lamp *localize_lamp(struct Lamp *la);
 void make_local_lamp(struct Lamp *la);
 void free_camera(struct Camera *ca);
 void free_lamp(struct Lamp *la);
index b82db85..a400c1e 100644 (file)
@@ -54,7 +54,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
                                                struct DerivedMesh *dm,
                                                struct SubsurfModifierData *smd,
                                                int useRenderParams, float (*vertCos)[3],
-                                               int isFinalCalc, int editMode);
+                                               int isFinalCalc, int forEditMode, int inEditMode);
 
 void subsurf_calculate_limit_positions(struct Mesh *me, float (*positions_r)[3]);
 
index 30780b8..6c8d1ba 100644 (file)
@@ -40,6 +40,7 @@ struct World;
 void free_world(struct World *sc); 
 struct World *add_world(const char *name);
 struct World *copy_world(struct World *wrld);
+struct World *localize_world(struct World *wrld);
 void make_local_world(struct World *wrld);
 
 #endif
index 5198172..f17d362 100644 (file)
 #include "BLI_utildefines.h"
 
 #include "DNA_anim_types.h"
+#include "DNA_lamp_types.h"
 #include "DNA_material_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_texture_types.h"
+#include "DNA_world_types.h"
 
 #include "BKE_animsys.h"
 #include "BKE_action.h"
@@ -2198,7 +2200,7 @@ void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
        EVAL_ANIM_NODETREE_IDS(main->tex.first, Tex, ADT_RECALC_ANIM);
        
        /* lamps */
-       EVAL_ANIM_IDS(main->lamp.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_NODETREE_IDS(main->lamp.first, Lamp, ADT_RECALC_ANIM);
        
        /* materials */
        EVAL_ANIM_NODETREE_IDS(main->mat.first, Material, ADT_RECALC_ANIM);
@@ -2235,7 +2237,7 @@ void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
        EVAL_ANIM_IDS(main->object.first, 0); 
        
        /* worlds */
-       EVAL_ANIM_IDS(main->world.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_NODETREE_IDS(main->world.first, World, ADT_RECALC_ANIM);
        
        /* scenes */
        EVAL_ANIM_NODETREE_IDS(main->scene.first, Scene, ADT_RECALC_ANIM);
index 94fbcd9..96391a3 100644 (file)
@@ -1748,9 +1748,22 @@ void DAG_scene_sort(Main *bmain, Scene *sce)
        sce->recalc |= SCE_PRV_CHANGED; /* test for 3d preview */
 }
 
+static void lib_id_recalc_tag(Main *bmain, ID *id)
+{
+       id->flag |= LIB_ID_RECALC;
+       bmain->id_tag_update[id->name[0]] = 1;
+}
+
+static void lib_id_recalc_data_tag(Main *bmain, ID *id)
+{
+       id->flag |= LIB_ID_RECALC_DATA;
+       bmain->id_tag_update[id->name[0]] = 1;
+}
+
 /* node was checked to have lasttime != curtime and is if type ID_OB */
 static void flush_update_node(DagNode *node, unsigned int layer, int curtime)
 {
+       Main *bmain= G.main;
        DagAdjList *itA;
        Object *ob, *obc;
        int oldflag, changed=0;
@@ -1776,20 +1789,24 @@ static void flush_update_node(DagNode *node, unsigned int layer, int curtime)
                                                if(itA->type & DAG_RL_OB_OB) {
                                                        //printf("ob %s changes ob %s\n", ob->id.name, obc->id.name);
                                                        obc->recalc |= OB_RECALC_OB;
+                                                       lib_id_recalc_tag(bmain, &obc->id);
                                                }
                                                if(itA->type & DAG_RL_OB_DATA) {
                                                        //printf("ob %s changes obdata %s\n", ob->id.name, obc->id.name);
                                                        obc->recalc |= OB_RECALC_DATA;
+                                                       lib_id_recalc_data_tag(bmain, &obc->id);
                                                }
                                        }
                                        if(ob->recalc & OB_RECALC_DATA) {
                                                if(itA->type & DAG_RL_DATA_OB) {
                                                        //printf("obdata %s changes ob %s\n", ob->id.name, obc->id.name);
                                                        obc->recalc |= OB_RECALC_OB;
+                                                       lib_id_recalc_tag(bmain, &obc->id);
                                                }
                                                if(itA->type & DAG_RL_DATA_DATA) {
                                                        //printf("obdata %s changes obdata %s\n", ob->id.name, obc->id.name);
                                                        obc->recalc |= OB_RECALC_DATA;
+                                                       lib_id_recalc_data_tag(bmain, &obc->id);
                                                }
                                        }
                                        if(oldflag!=obc->recalc) changed= 1;
@@ -1820,6 +1837,7 @@ static void flush_update_node(DagNode *node, unsigned int layer, int curtime)
                                        if(itA->type & (DAG_RL_OB_DATA|DAG_RL_DATA_DATA)) {
                                                // printf("parent %s changes ob %s\n", ob->id.name, obc->id.name);
                                                obc->recalc |= OB_RECALC_DATA;
+                                               lib_id_recalc_data_tag(bmain, &obc->id);
                                        }
                                }
                        }
@@ -1859,6 +1877,7 @@ static unsigned int flush_layer_node(Scene *sce, DagNode *node, int curtime)
 /* node was checked to have lasttime != curtime , and is of type ID_OB */
 static void flush_pointcache_reset(Scene *scene, DagNode *node, int curtime, int reset)
 {
+       Main *bmain= G.main;
        DagAdjList *itA;
        Object *ob;
        
@@ -1870,8 +1889,10 @@ static void flush_pointcache_reset(Scene *scene, DagNode *node, int curtime, int
                                ob= (Object*)(itA->node->ob);
 
                                if(reset || (ob->recalc & OB_RECALC_ALL)) {
-                                       if(BKE_ptcache_object_reset(scene, ob, PTCACHE_RESET_DEPSGRAPH))
+                                       if(BKE_ptcache_object_reset(scene, ob, PTCACHE_RESET_DEPSGRAPH)) {
                                                ob->recalc |= OB_RECALC_DATA;
+                                               lib_id_recalc_data_tag(bmain, &ob->id);
+                                       }
 
                                        flush_pointcache_reset(scene, itA->node, curtime, 1);
                                }
@@ -1986,8 +2007,10 @@ void DAG_scene_flush_update(Main *bmain, Scene *sce, unsigned int lay, const sho
                                ob= (Object*)(itA->node->ob);
 
                                if(ob->recalc & OB_RECALC_ALL) {
-                                       if(BKE_ptcache_object_reset(sce, ob, PTCACHE_RESET_DEPSGRAPH))
+                                       if(BKE_ptcache_object_reset(sce, ob, PTCACHE_RESET_DEPSGRAPH)) {
                                                ob->recalc |= OB_RECALC_DATA;
+                                               lib_id_recalc_data_tag(bmain, &ob->id);
+                                       }
 
                                        flush_pointcache_reset(sce, itA->node, lasttime, 1);
                                }
@@ -2162,6 +2185,12 @@ static void dag_object_time_update_flags(Object *ob)
                        }
                }
        }               
+
+       if(ob->recalc & OB_RECALC_OB)
+               lib_id_recalc_tag(G.main, &ob->id);
+       if(ob->recalc & OB_RECALC_DATA)
+               lib_id_recalc_data_tag(G.main, &ob->id);
+
 }
 /* flag all objects that need recalc, for changes in time for example */
 /* do_time: make this optional because undo resets objects to their animated locations without this */
@@ -2320,6 +2349,9 @@ void DAG_on_visible_update(Main *bmain, const short do_time)
                DAG_scene_update_flags(bmain, scene, lay, do_time);
                scene->lay_updated |= lay;
        }
+
+       /* hack to get objects updating on layer changes */
+       bmain->id_tag_update['O'] = 1;
 }
 
 static void dag_id_flush_update__isDependentTexture(void *userData, Object *UNUSED(ob), ID **idpoin)
@@ -2366,6 +2398,7 @@ static void dag_id_flush_update(Scene *sce, ID *id)
                        for(obt=bmain->object.first; obt; obt= obt->id.next) {
                                if(!(ob && obt == ob) && obt->data == id) {
                                        obt->recalc |= OB_RECALC_DATA;
+                                       lib_id_recalc_data_tag(bmain, &obt->id);
                                        BKE_ptcache_object_reset(sce, obt, PTCACHE_RESET_DEPSGRAPH);
                                }
                        }
@@ -2379,8 +2412,10 @@ static void dag_id_flush_update(Scene *sce, ID *id)
                                data.is_dependent= 0;
 
                                modifiers_foreachIDLink(obt, dag_id_flush_update__isDependentTexture, &data);
-                               if (data.is_dependent)
+                               if (data.is_dependent) {
                                        obt->recalc |= OB_RECALC_DATA;
+                                       lib_id_recalc_data_tag(bmain, &obt->id);
+                               }
 
                                /* particle settings can use the texture as well */
                                if(obt->particlesystem.first) {
@@ -2393,7 +2428,8 @@ static void dag_id_flush_update(Scene *sce, ID *id)
                                                        mtex = *mtexp;
                                                        if(mtex && mtex->tex == (Tex*)id) {
                                                                obt->recalc |= OB_RECALC_DATA;
-                                                               
+                                                               lib_id_recalc_data_tag(bmain, &obt->id);
+
                                                                if(mtex->mapto & PAMAP_INIT)
                                                                        psys->recalc |= PSYS_RECALC_RESET;
                                                                if(mtex->mapto & PAMAP_CHILD)
@@ -2413,6 +2449,8 @@ static void dag_id_flush_update(Scene *sce, ID *id)
                                Key *key= ob_get_key(obt);
                                if(!(ob && obt == ob) && ((ID *)key == id)) {
                                        obt->flag |= (OB_RECALC_OB|OB_RECALC_DATA);
+                                       lib_id_recalc_tag(bmain, &obt->id);
+                                       lib_id_recalc_data_tag(bmain, &obt->id);
                                        BKE_ptcache_object_reset(sce, obt, PTCACHE_RESET_DEPSGRAPH);
                                }
                        }
@@ -2437,7 +2475,7 @@ void DAG_ids_flush_tagged(Main *bmain)
        ListBase *lbarray[MAX_LIBARRAY];
        Scene *sce;
        unsigned int lay;
-       int a, have_tag = 0;
+       int a, do_flush = 0;
 
        dag_current_scene_layers(bmain, &sce, &lay);
 
@@ -2455,23 +2493,47 @@ void DAG_ids_flush_tagged(Main *bmain)
                   looping over all ID's in case there are no tags */
                if(id && bmain->id_tag_update[id->name[0]]) {
                        for(; id; id=id->next) {
-                               if(id->flag & LIB_ID_RECALC) {
+                               if(id->flag & (LIB_ID_RECALC|LIB_ID_RECALC_DATA)) {
                                        dag_id_flush_update(sce, id);
-                                       id->flag &= ~LIB_ID_RECALC;
+                                       do_flush = 1;
                                }
                        }
-
-                       have_tag = 1;
                }
        }
 
-       if(have_tag) {
-               /* clear tags */
-               memset(bmain->id_tag_update, 0, sizeof(bmain->id_tag_update));
-
-               /* flush changes to other objects */
+       /* flush changes to other objects */
+       if(do_flush)
                DAG_scene_flush_update(bmain, sce, lay, 0);
+}
+
+void DAG_ids_clear_recalc(Main *bmain)
+{
+       ListBase *lbarray[MAX_LIBARRAY];
+       int a, first_tag = 1;
+
+       /* loop over all ID types */
+       a  = set_listbasepointers(bmain, lbarray);
+
+       while(a--) {
+               ListBase *lb = lbarray[a];
+               ID *id = lb->first;
+
+               /* we tag based on first ID type character to avoid 
+                  looping over all ID's in case there are no tags */
+               if(id && bmain->id_tag_update[id->name[0]]) {
+                       /* do editors update */
+                       if(first_tag) {
+                               dag_editors_update(bmain, NULL);
+                               first_tag = 0;
+                       }
+
+                       for(; id; id=id->next)
+                               if(id->flag & (LIB_ID_RECALC|LIB_ID_RECALC_DATA))
+                                       id->flag &= ~(LIB_ID_RECALC|LIB_ID_RECALC_DATA);
+               }
        }
+
+       memset(bmain->id_tag_update, 0, sizeof(bmain->id_tag_update));
 }
 
 void DAG_id_tag_update(ID *id, short flag)
@@ -2481,8 +2543,14 @@ void DAG_id_tag_update(ID *id, short flag)
        if(id==NULL) return;
        
        /* tag ID for update */
-       id->flag |= LIB_ID_RECALC;
-       bmain->id_tag_update[id->name[0]] = 1;
+       if(flag) {
+               if(flag & OB_RECALC_OB)
+                       lib_id_recalc_tag(bmain, id);
+               if(flag & (OB_RECALC_DATA|PSYS_RECALC))
+                       lib_id_recalc_data_tag(bmain, id);
+       }
+       else
+               lib_id_recalc_tag(bmain, id);
 
        /* flag is for objects and particle systems */
        if(flag) {
@@ -2514,6 +2582,11 @@ void DAG_id_tag_update(ID *id, short flag)
        }
 }
 
+int DAG_id_type_tagged(Main *bmain, short idtype)
+{
+       return bmain->id_tag_update[((char*)&idtype)[0]];
+}
+
 #if 0 // UNUSED
 /* recursively descends tree, each node only checked once */
 /* node is checked to be of type object */
index fd58dc2..334f018 100644 (file)
@@ -258,9 +258,8 @@ Material *localize_material(Material *ma)
        
        man->preview = NULL;
        
-       if(ma->nodetree) {
+       if(ma->nodetree)
                man->nodetree= ntreeLocalize(ma->nodetree);
-       }
        
        man->gpumaterial.first= man->gpumaterial.last= NULL;
        
index 45a60b8..4459b8f 100644 (file)
@@ -199,7 +199,6 @@ Mesh *add_mesh(const char *name)
        me->smoothresh= 30;
        me->texflag= AUTOSPACE;
        me->flag= ME_TWOSIDED;
-       me->bb= unit_boundbox();
        me->drawflag= ME_DRAWEDGES|ME_DRAWFACES|ME_DRAWCREASES;
        
        return me;
index 5706a39..637f5da 100644 (file)
@@ -465,7 +465,7 @@ static DerivedMesh *multires_dm_create_local(Object *ob, DerivedMesh *dm, int lv
        return multires_dm_create_from_derived(&mmd, 1, dm, ob, 0, 0);
 }
 
-static DerivedMesh *subsurf_dm_create_local(Object *UNUSED(ob), DerivedMesh *dm, int lvl, int simple, int optimal)
+static DerivedMesh *subsurf_dm_create_local(Object *ob, DerivedMesh *dm, int lvl, int simple, int optimal)
 {
        SubsurfModifierData smd= {{NULL}};
 
@@ -476,7 +476,7 @@ static DerivedMesh *subsurf_dm_create_local(Object *UNUSED(ob), DerivedMesh *dm,
        if(optimal)
                smd.flags |= eSubsurfModifierFlag_ControlEdges;
 
-       return subsurf_make_derived_from_derived(dm, &smd, 0, NULL, 0, 0);
+       return subsurf_make_derived_from_derived(dm, &smd, 0, NULL, 0, 0, (ob->mode & OB_MODE_EDIT));
 }
 
 
index 4b40c07..9f9af8e 100644 (file)
 
 #include "DNA_anim_types.h"
 #include "DNA_action_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_node_types.h"
+#include "DNA_world_types.h"
 #include "DNA_node_types.h"
 
 #include "BLI_listbase.h"
@@ -517,6 +521,9 @@ void nodeGroupVerify(bNodeTree *ngroup)
        
        if(ngroup->type==NTREE_SHADER) {
                Material *ma;
+               Lamp *la;
+               World *wrld;
+
                for(ma= G.main->mat.first; ma; ma= ma->id.next) {
                        if(ma->nodetree) {
                                bNode *node;
@@ -525,6 +532,25 @@ void nodeGroupVerify(bNodeTree *ngroup)
                                                nodeVerifyType(ma->nodetree, node);
                        }
                }
+
+               for(la= G.main->lamp.first; la; la= la->id.next) {
+                       if(la->nodetree) {
+                               bNode *node;
+                               for(node= la->nodetree->nodes.first; node; node= node->next)
+                                       if(node->id == (ID *)ngroup)
+                                               nodeVerifyType(la->nodetree, node);
+                       }
+               }
+
+               for(wrld= G.main->world.first; wrld; wrld= wrld->id.next) {
+                       if(wrld->nodetree) {
+                               bNode *node;
+                               for(node= wrld->nodetree->nodes.first; node; node= node->next)
+                                       if(node->id == (ID *)ngroup)
+                                               nodeVerifyType(wrld->nodetree, node);
+                       }
+               }
+
        }
        else if(ngroup->type==NTREE_COMPOSIT) {
                Scene *sce;
@@ -550,6 +576,28 @@ void nodeGroupVerify(bNodeTree *ngroup)
        }
 }
 
+static void nodeGroupTagUseFlags(bNodeTree *ntree, bNodeTree *ngroup)
+{
+       bNode *node;
+       bNodeSocket *sock;
+
+       if(!ntree)
+               return;
+
+       for(node= ntree->nodes.first; node; node= node->next) {
+               if(node->id==(ID *)ngroup) {
+                       for(sock= node->inputs.first; sock; sock= sock->next)
+                               if(sock->link)
+                                       if(sock->groupsock) 
+                                               sock->groupsock->flag |= SOCK_IN_USE;
+                       for(sock= node->outputs.first; sock; sock= sock->next)
+                               if(nodeCountSocketLinks(ntree, sock))
+                                       if(sock->groupsock) 
+                                               sock->groupsock->flag |= SOCK_IN_USE;
+               }
+       }
+}
+
 /* also to check all users of groups. Now only used in editor for hide/unhide */
 /* should become callbackable? */
 void nodeGroupSocketUseFlags(bNodeTree *ngroup)
@@ -568,62 +616,26 @@ void nodeGroupSocketUseFlags(bNodeTree *ngroup)
        /* tag all thats in use */
        if(ngroup->type==NTREE_SHADER) {
                Material *ma;
-               for(ma= G.main->mat.first; ma; ma= ma->id.next) {
-                       if(ma->nodetree) {
-                               for(node= ma->nodetree->nodes.first; node; node= node->next) {
-                                       if(node->id==&ngroup->id) {
-                                               for(sock= node->inputs.first; sock; sock= sock->next)
-                                                       if(sock->link)
-                                                               if(sock->groupsock) 
-                                                                       sock->groupsock->flag |= SOCK_IN_USE;
-                                               for(sock= node->outputs.first; sock; sock= sock->next)
-                                                       if(nodeCountSocketLinks(ma->nodetree, sock))
-                                                               if(sock->groupsock) 
-                                                                       sock->groupsock->flag |= SOCK_IN_USE;
-                                       }
-                               }
-                       }
-               }
+               Lamp *la;
+               World *wrld;
+
+               for(ma= G.main->mat.first; ma; ma= ma->id.next)
+                       nodeGroupTagUseFlags(ma->nodetree, ngroup);
+               for(la= G.main->lamp.first; la; la= la->id.next)
+                       nodeGroupTagUseFlags(la->nodetree, ngroup);
+               for(wrld= G.main->world.first; wrld; wrld= wrld->id.next)
+                       nodeGroupTagUseFlags(wrld->nodetree, ngroup);
        }
        else if(ngroup->type==NTREE_COMPOSIT) {
                Scene *sce;
-               for(sce= G.main->scene.first; sce; sce= sce->id.next) {
-                       if(sce->nodetree) {
-                               for(node= sce->nodetree->nodes.first; node; node= node->next) {
-                                       if(node->id==(ID *)ngroup) {
-                                               for(sock= node->inputs.first; sock; sock= sock->next)
-                                                       if(sock->link)
-                                                               if(sock->groupsock) 
-                                                                       sock->groupsock->flag |= SOCK_IN_USE;
-                                               for(sock= node->outputs.first; sock; sock= sock->next)
-                                                       if(nodeCountSocketLinks(sce->nodetree, sock))
-                                                               if(sock->groupsock) 
-                                                                       sock->groupsock->flag |= SOCK_IN_USE;
-                                       }
-                               }
-                       }
-               }
+               for(sce= G.main->scene.first; sce; sce= sce->id.next)
+                       nodeGroupTagUseFlags(sce->nodetree, ngroup);
        }
        else if(ngroup->type==NTREE_TEXTURE) {
                Tex *tx;
-               for(tx= G.main->tex.first; tx; tx= tx->id.next) {
-                       if(tx->nodetree) {
-                               for(node= tx->nodetree->nodes.first; node; node= node->next) {
-                                       if(node->id==(ID *)ngroup) {
-                                               for(sock= node->inputs.first; sock; sock= sock->next)
-                                                       if(sock->link)
-                                                               if(sock->groupsock) 
-                                                                       sock->groupsock->flag |= SOCK_IN_USE;
-                                               for(sock= node->outputs.first; sock; sock= sock->next)
-                                                       if(nodeCountSocketLinks(tx->nodetree, sock))
-                                                               if(sock->groupsock) 
-                                                                       sock->groupsock->flag |= SOCK_IN_USE;
-                                       }
-                               }
-                       }
-               }
+               for(tx= G.main->tex.first; tx; tx= tx->id.next)
+                       nodeGroupTagUseFlags(tx->nodetree, ngroup);
        }
-       
 }
 /* finds a node based on its name */
 bNode *nodeFindNodebyName(bNodeTree *ntree, const char *name)
@@ -1478,6 +1490,9 @@ void ntreeMakeLocal(bNodeTree *ntree)
        /* now check users of groups... again typedepending, callback... */
        if(ntree->type==NTREE_SHADER) {
                Material *ma;
+               Lamp *la;
+               World *wrld;
+
                for(ma= G.main->mat.first; ma; ma= ma->id.next) {
                        if(ma->nodetree) {
                                bNode *node;
@@ -1491,6 +1506,48 @@ void ntreeMakeLocal(bNodeTree *ntree)
                                }
                        }
                }
+
+               for(ma= G.main->mat.first; ma; ma= ma->id.next) {
+                       if(ma->nodetree) {
+                               bNode *node;
+                               
+                               /* find if group is in tree */
+                               for(node= ma->nodetree->nodes.first; node; node= node->next) {
+                                       if(node->id == (ID *)ntree) {
+                                               if(ma->id.lib) lib= 1;
+                                               else local= 1;
+                                       }
+                               }
+                       }
+               }
+
+               for(la= G.main->lamp.first; la; la= la->id.next) {
+                       if(la->nodetree) {
+                               bNode *node;
+                               
+                               /* find if group is in tree */
+                               for(node= la->nodetree->nodes.first; node; node= node->next) {
+                                       if(node->id == (ID *)ntree) {
+                                               if(la->id.lib) lib= 1;
+                                               else local= 1;
+                                       }
+                               }
+                       }
+               }
+
+               for(wrld= G.main->world.first; wrld; wrld= wrld->id.next) {
+                       if(wrld->nodetree) {
+                               bNode *node;
+                               
+                               /* find if group is in tree */
+                               for(node= wrld->nodetree->nodes.first; node; node= node->next) {
+                                       if(node->id == (ID *)ntree) {
+                                               if(wrld->id.lib) lib= 1;
+                                               else local= 1;
+                                       }
+                               }
+                       }
+               }
        }
        else if(ntree->type==NTREE_COMPOSIT) {
                Scene *sce;
@@ -1539,6 +1596,9 @@ void ntreeMakeLocal(bNodeTree *ntree)
                
                if(ntree->type==NTREE_SHADER) {
                        Material *ma;
+                       Lamp *la;
+                       World *wrld;
+
                        for(ma= G.main->mat.first; ma; ma= ma->id.next) {
                                if(ma->nodetree) {
                                        bNode *node;
@@ -1555,6 +1615,40 @@ void ntreeMakeLocal(bNodeTree *ntree)
                                        }
                                }
                        }
+
+                       for(la= G.main->lamp.first; la; la= la->id.next) {
+                               if(la->nodetree) {
+                                       bNode *node;
+                                       
+                                       /* find if group is in tree */
+                                       for(node= la->nodetree->nodes.first; node; node= node->next) {
+                                               if(node->id == (ID *)ntree) {
+                                                       if(la->id.lib==NULL) {
+                                                               node->id= &newtree->id;
+                                                               newtree->id.us++;
+                                                               ntree->id.us--;
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+
+                       for(wrld= G.main->world.first; wrld; wrld= wrld->id.next) {
+                               if(wrld->nodetree) {
+                                       bNode *node;
+                                       
+                                       /* find if group is in tree */
+                                       for(node= wrld->nodetree->nodes.first; node; node= node->next) {
+                                               if(node->id == (ID *)ntree) {
+                                                       if(wrld->id.lib==NULL) {
+                                                               node->id= &newtree->id;
+                                                               newtree->id.us++;
+                                                               ntree->id.us--;
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
                }
                else if(ntree->type==NTREE_COMPOSIT) {
                        Scene *sce;
@@ -3504,30 +3598,49 @@ static void registerCompositNodes(ListBase *ntypelist)
 static void registerShaderNodes(ListBase *ntypelist) 
 {
        register_node_type_group(ntypelist);
-       
-       register_node_type_sh_output(ntypelist);
+
+       register_node_type_sh_value(ntypelist);
+       register_node_type_sh_rgb(ntypelist);
+       register_node_type_sh_math(ntypelist);
+       register_node_type_sh_vect_math(ntypelist);
        register_node_type_sh_mix_rgb(ntypelist);
-       register_node_type_sh_valtorgb(ntypelist);
        register_node_type_sh_rgbtobw(ntypelist);
-       register_node_type_sh_normal(ntypelist);
-       register_node_type_sh_geom(ntypelist);
        register_node_type_sh_mapping(ntypelist);
-       register_node_type_sh_curve_vec(ntypelist);
-       register_node_type_sh_curve_rgb(ntypelist);
-       register_node_type_sh_math(ntypelist);
-       register_node_type_sh_vect_math(ntypelist);
-       register_node_type_sh_squeeze(ntypelist);
-       register_node_type_sh_camera(ntypelist);
-       register_node_type_sh_material(ntypelist);
-       register_node_type_sh_material_ext(ntypelist);
-       register_node_type_sh_value(ntypelist);
-       register_node_type_sh_rgb(ntypelist);
-       register_node_type_sh_texture(ntypelist);
-//     register_node_type_sh_dynamic(ntypelist);
-       register_node_type_sh_invert(ntypelist);
-       register_node_type_sh_seprgb(ntypelist);
-       register_node_type_sh_combrgb(ntypelist);
-       register_node_type_sh_hue_sat(ntypelist);
+
+       register_node_type_sh_attribute(ntypelist);
+       register_node_type_sh_geometry(ntypelist);
+       register_node_type_sh_light_path(ntypelist);
+       register_node_type_sh_fresnel(ntypelist);
+       register_node_type_sh_tex_coord(ntypelist);
+
+       register_node_type_sh_background(ntypelist);
+       register_node_type_sh_bsdf_diffuse(ntypelist);
+       register_node_type_sh_bsdf_glass(ntypelist);
+       register_node_type_sh_bsdf_glossy(ntypelist);
+       register_node_type_sh_bsdf_translucent(ntypelist);
+       register_node_type_sh_bsdf_transparent(ntypelist);
+       register_node_type_sh_bsdf_velvet(ntypelist);
+       register_node_type_sh_emission(ntypelist);
+       register_node_type_sh_mix_closure(ntypelist);
+       register_node_type_sh_add_closure(ntypelist);
+
+       register_node_type_sh_output_lamp(ntypelist);
+       register_node_type_sh_output_material(ntypelist);
+       register_node_type_sh_output_world(ntypelist);
+
+       register_node_type_sh_tex_blend(ntypelist);
+       register_node_type_sh_tex_clouds(ntypelist);
+       register_node_type_sh_tex_distnoise(ntypelist);
+       register_node_type_sh_tex_image(ntypelist);
+       register_node_type_sh_tex_environment(ntypelist);
+       register_node_type_sh_tex_magic(ntypelist);
+       register_node_type_sh_tex_marble(ntypelist);
+       register_node_type_sh_tex_musgrave(ntypelist);
+       register_node_type_sh_tex_noise(ntypelist);
+       register_node_type_sh_tex_sky(ntypelist);
+       register_node_type_sh_tex_stucci(ntypelist);
+       register_node_type_sh_tex_voronoi(ntypelist);
+       register_node_type_sh_tex_wood(ntypelist);
 }
 
 static void registerTextureNodes(ListBase *ntypelist)
index 29fa731..d869cb5 100644 (file)
@@ -88,6 +88,7 @@
 #include "BKE_mesh.h"
 #include "BKE_mball.h"
 #include "BKE_modifier.h"
+#include "BKE_node.h"
 #include "BKE_object.h"
 #include "BKE_paint.h"
 #include "BKE_particle.h"
@@ -859,23 +860,49 @@ Lamp *copy_lamp(Lamp *la)
 
        for(a=0; a<MAX_MTEX; a++) {
                if(lan->mtex[a]) {
-                       lan->mtex[a]= MEM_mallocN(sizeof(MTex), "copylamptex");
+                       lan->mtex[a]= MEM_mallocN(sizeof(MTex), "copy_lamp");
                        memcpy(lan->mtex[a], la->mtex[a], sizeof(MTex));
                        id_us_plus((ID *)lan->mtex[a]->tex);
                }
        }
        
        lan->curfalloff = curvemapping_copy(la->curfalloff);
-       
-#if 0 // XXX old animation system
-       id_us_plus((ID *)lan->ipo);
-#endif // XXX old animation system
 
+       if(la->nodetree)
+               lan->nodetree= ntreeCopyTree(la->nodetree);
+       
        if (la->preview) lan->preview = BKE_previewimg_copy(la->preview);
        
        return lan;
 }
 
+Lamp *localize_lamp(Lamp *la)
+{
+       Lamp *lan;
+       int a;
+       
+       lan= copy_libblock(la);
+       BLI_remlink(&G.main->lamp, lan);
+
+       for(a=0; a<MAX_MTEX; a++) {
+               if(lan->mtex[a]) {
+                       lan->mtex[a]= MEM_mallocN(sizeof(MTex), "localize_lamp");
+                       memcpy(lan->mtex[a], la->mtex[a], sizeof(MTex));
+                       /* free lamp decrements */
+                       id_us_plus((ID *)lan->mtex[a]->tex);
+               }
+       }
+       
+       lan->curfalloff = curvemapping_copy(la->curfalloff);
+
+       if(la->nodetree)
+               lan->nodetree= ntreeLocalize(la->nodetree);
+       
+       lan->preview= NULL;
+       
+       return lan;
+}
+
 void make_local_lamp(Lamp *la)
 {
        Main *bmain= G.main;
@@ -948,6 +975,12 @@ void free_lamp(Lamp *la)
        BKE_free_animdata((ID *)la);
 
        curvemapping_free(la->curfalloff);
+
+       /* is no lib link block, but lamp extension */
+       if(la->nodetree) {
+               ntreeFreeTree(la->nodetree);
+               MEM_freeN(la->nodetree);
+       }
        
        BKE_previewimg_free(&la->preview);
        BKE_icon_delete(&la->id);
index 791d572..d4a1eb0 100644 (file)
@@ -989,6 +989,8 @@ void scene_update_tagged(Main *bmain, Scene *scene)
        
        if (scene->physics_settings.quick_cache_step)
                BKE_ptcache_quick_cache_all(bmain, scene);
+       
+       DAG_ids_clear_recalc(bmain);
 
        /* in the future this should handle updates for all datablocks, not
           only objects and scenes. - brecht */
index 5b6c6bf..7b04a72 100644 (file)
@@ -562,7 +562,7 @@ void shrinkwrapModifier_deform(ShrinkwrapModifierData *smd, Object *ob, DerivedM
                        ssmd.subdivType = ME_CC_SUBSURF;                //catmull clark
                        ssmd.levels             = smd->subsurfLevels;   //levels
 
-                       ss_mesh = subsurf_make_derived_from_derived(dm, &ssmd, FALSE, NULL, 0, 0);
+                       ss_mesh = subsurf_make_derived_from_derived(dm, &ssmd, FALSE, NULL, 0, 0, (ob->mode & OB_MODE_EDIT));
 
                        if(ss_mesh)
                        {
index 3309431..05a653d 100644 (file)
@@ -2593,7 +2593,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
                                                struct DerivedMesh *dm,
                                                struct SubsurfModifierData *smd,
                                                int useRenderParams, float (*vertCos)[3],
-                                               int isFinalCalc, int editMode)
+                                               int isFinalCalc, int forEditMode, int inEditMode)
 {
        int useSimple = smd->subdivType == ME_SIMPLE_SUBSURF;
        int useAging = smd->flags & eSubsurfModifierFlag_DebugIncr;
@@ -2601,7 +2601,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
        int drawInteriorEdges = !(smd->flags & eSubsurfModifierFlag_ControlEdges);
        CCGDerivedMesh *result;
 
-       if(editMode) {
+       if(forEditMode) {
                int levels= (smd->modifier.scene)? get_render_subsurf_level(&smd->modifier.scene->r, smd->levels): smd->levels;
 
                smd->emCache = _getSubSurf(smd->emCache, levels, useAging, 0,
@@ -2632,7 +2632,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
                int useAging = smd->flags & eSubsurfModifierFlag_DebugIncr;
                int levels= (smd->modifier.scene)? get_render_subsurf_level(&smd->modifier.scene->r, smd->levels): smd->levels;
                CCGSubSurf *ss;
-               
+
                /* It is quite possible there is a much better place to do this. It
                 * depends a bit on how rigourously we expect this function to never
                 * be called in editmode. In semi-theory we could share a single
@@ -2640,8 +2640,11 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
                 * the same so we would need some way of converting them. Its probably
                 * not worth the effort. But then why am I even writing this long
                 * comment that no one will read? Hmmm. - zr
+                *
+                * Addendum: we can't really ensure that this is never called in edit
+                * mode, so now we have a parameter to verify it. - brecht
                 */
-               if(smd->emCache) {
+               if(!inEditMode && smd->emCache) {
                        ccgSubSurf_free(smd->emCache);
                        smd->emCache = NULL;
                }
index 7a76e61..2e0eec4 100644 (file)
 #include "DNA_scene_types.h"
 #include "DNA_texture_types.h"
 
+#include "BLI_listbase.h"
 #include "BLI_utildefines.h"
 
 #include "BKE_world.h"
 #include "BKE_library.h"
 #include "BKE_animsys.h"
 #include "BKE_global.h"
-#include "BKE_main.h"
 #include "BKE_icons.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_node.h"
 
 void free_world(World *wrld)
 {
@@ -66,6 +69,12 @@ void free_world(World *wrld)
 
        BKE_free_animdata((ID *)wrld);
 
+       /* is no lib link block, but world extension */
+       if(wrld->nodetree) {
+               ntreeFreeTree(wrld->nodetree);
+               MEM_freeN(wrld->nodetree);
+       }
+
        BKE_icon_delete((struct ID*)wrld);
        wrld->id.icon_id = 0;
 }
@@ -117,17 +126,41 @@ World *copy_world(World *wrld)
        
        for(a=0; a<MAX_MTEX; a++) {
                if(wrld->mtex[a]) {
-                       wrldn->mtex[a]= MEM_mallocN(sizeof(MTex), "copymaterial");
+                       wrldn->mtex[a]= MEM_mallocN(sizeof(MTex), "copy_world");
                        memcpy(wrldn->mtex[a], wrld->mtex[a], sizeof(MTex));
                        id_us_plus((ID *)wrldn->mtex[a]->tex);
                }
        }
+
+       if(wrld->nodetree)
+               wrldn->nodetree= ntreeCopyTree(wrld->nodetree);
        
        if (wrld->preview) wrldn->preview = BKE_previewimg_copy(wrld->preview);
+       
+       return wrldn;
+}
 
-#if 0 // XXX old animation system
-       id_us_plus((ID *)wrldn->ipo);
-#endif // XXX old animation system
+World *localize_world(World *wrld)
+{
+       World *wrldn;
+       int a;
+       
+       wrldn= copy_libblock(wrld);
+       BLI_remlink(&G.main->world, wrldn);
+       
+       for(a=0; a<MAX_MTEX; a++) {
+               if(wrld->mtex[a]) {
+                       wrldn->mtex[a]= MEM_mallocN(sizeof(MTex), "localize_world");
+                       memcpy(wrldn->mtex[a], wrld->mtex[a], sizeof(MTex));
+                       /* free world decrements */
+                       id_us_plus((ID *)wrldn->mtex[a]->tex);
+               }
+       }
+
+       if(wrld->nodetree)
+               wrldn->nodetree= ntreeLocalize(wrld->nodetree);
+       
+       wrldn->preview= NULL;
        
        return wrldn;
 }
index f669b17..82c847a 100644 (file)
 #include "BLO_undofile.h"
 #include "BLO_readblenfile.h" // streaming read pipe, for BLO_readblenfile BLO_readblenfilememory
 
+#include "RE_pipeline.h"
+
 #include "readfile.h"
 
 #include "PIL_time.h"
@@ -2101,6 +2103,8 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open))
 {
        Scene *sce;
        Material *ma;
+       Lamp *la;
+       World *wrld;
        Tex *tx;
        bNodeTree *ntree;
        
@@ -2154,6 +2158,16 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open))
                if(ma->nodetree)
                        ntreeVerifyTypes(ma->nodetree);
        }
+       /* and world trees */
+       for(wrld= main->world.first; wrld; wrld= wrld->id.next) {
+               if(wrld->nodetree)
+                       ntreeVerifyTypes(wrld->nodetree);
+       }
+       /* and lamp trees */
+       for(la= main->lamp.first; la; la= la->id.next) {
+               if(la->nodetree)
+                       ntreeVerifyTypes(la->nodetree);
+       }
        /* and scene trees */
        for(sce= main->scene.first; sce; sce= sce->id.next) {
                if(sce->nodetree)
@@ -2471,6 +2485,9 @@ static void lib_link_lamp(FileData *fd, Main *main)
                        }
                        
                        la->ipo= newlibadr_us(fd, la->id.lib, la->ipo); // XXX depreceated - old animation system
+
+                       if(la->nodetree)
+                               lib_link_ntree(fd, &la->id, la->nodetree);
                        
                        la->id.flag -= LIB_NEEDLINK;
                }
@@ -2492,6 +2509,10 @@ static void direct_link_lamp(FileData *fd, Lamp *la)
        la->curfalloff= newdataadr(fd, la->curfalloff);
        if(la->curfalloff)
                direct_link_curvemapping(fd, la->curfalloff);
+
+       la->nodetree= newdataadr(fd, la->nodetree);
+       if(la->nodetree)
+               direct_link_nodetree(fd, la->nodetree);
        
        la->preview = direct_link_preview_image(fd, la->preview);
 }
@@ -2634,6 +2655,9 @@ static void lib_link_world(FileData *fd, Main *main)
                                        mtex->object= newlibadr(fd, wrld->id.lib, mtex->object);
                                }
                        }
+
+                       if(wrld->nodetree)
+                               lib_link_ntree(fd, &wrld->id, wrld->nodetree);
                        
                        wrld->id.flag -= LIB_NEEDLINK;
                }
@@ -2651,6 +2675,11 @@ static void direct_link_world(FileData *fd, World *wrld)
        for(a=0; a<MAX_MTEX; a++) {
                wrld->mtex[a]= newdataadr(fd, wrld->mtex[a]);
        }
+
+       wrld->nodetree= newdataadr(fd, wrld->nodetree);
+       if(wrld->nodetree)
+               direct_link_nodetree(fd, wrld->nodetree);
+
        wrld->preview = direct_link_preview_image(fd, wrld->preview);
 }
 
@@ -4924,6 +4953,10 @@ static void lib_link_screen(FileData *fd, Main *main)
                                                if(snode->id) {
                                                        if(GS(snode->id->name)==ID_MA)
                                                                snode->nodetree= ((Material *)snode->id)->nodetree;
+                                                       else if(GS(snode->id->name)==ID_WO)
+                                                               snode->nodetree= ((World *)snode->id)->nodetree;
+                                                       else if(GS(snode->id->name)==ID_LA)
+                                                               snode->nodetree= ((Lamp *)snode->id)->nodetree;
                                                        else if(GS(snode->id->name)==ID_SCE)
                                                                snode->nodetree= ((Scene *)snode->id)->nodetree;
                                                        else if(GS(snode->id->name)==ID_TE)
@@ -5007,6 +5040,7 @@ void lib_link_screen_restore(Main *newmain, bScreen *curscreen, Scene *curscene)
                                if(sl->spacetype==SPACE_VIEW3D) {
                                        View3D *v3d= (View3D*) sl;
                                        BGpic *bgpic;
+                                       ARegion *ar;
                                        
                                        if(v3d->scenelock)
                                                v3d->camera= NULL; /* always get from scene */
@@ -5042,6 +5076,15 @@ void lib_link_screen_restore(Main *newmain, bScreen *curscreen, Scene *curscene)
                                        /* not very nice, but could help */
                                        if((v3d->layact & v3d->lay)==0) v3d->layact= v3d->lay;
                                        
+                                       /* free render engines for now */
+                                       for(ar= sa->regionbase.first; ar; ar= ar->next) {
+                                               RegionView3D *rv3d= ar->regiondata;
+
+                                               if(rv3d && rv3d->render_engine) {
+                                                       RE_engine_free(rv3d->render_engine);
+                                                       rv3d->render_engine= NULL;
+                                               }
+                                       }
                                }
                                else if(sl->spacetype==SPACE_IPO) {
                                        SpaceIpo *sipo= (SpaceIpo *)sl;
@@ -5152,6 +5195,10 @@ void lib_link_screen_restore(Main *newmain, bScreen *curscreen, Scene *curscene)
                                        else {
                                                if(GS(snode->id->name)==ID_MA)
                                                        snode->nodetree= ((Material *)snode->id)->nodetree;
+                                               else if(GS(snode->id->name)==ID_WO)
+                                                       snode->nodetree= ((World *)snode->id)->nodetree;
+                                               else if(GS(snode->id->name)==ID_LA)
+                                                       snode->nodetree= ((Lamp *)snode->id)->nodetree;
                                                else if(GS(snode->id->name)==ID_SCE)
                                                        snode->nodetree= ((Scene *)snode->id)->nodetree;
                                                else if(GS(snode->id->name)==ID_TE)
@@ -5187,6 +5234,7 @@ static void direct_link_region(FileData *fd, ARegion *ar, int spacetype)
                        
                        rv3d->depths= NULL;
                        rv3d->ri= NULL;
+                       rv3d->render_engine= NULL;
                        rv3d->sms= NULL;
                        rv3d->smooth_timer= NULL;
                }
@@ -5691,7 +5739,7 @@ static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, int flag, ID
        if(id->flag & LIB_FAKEUSER) id->us= 1;
        else id->us= 0;
        id->icon_id = 0;
-       id->flag &= ~LIB_ID_RECALC;
+       id->flag &= ~(LIB_ID_RECALC|LIB_ID_RECALC_DATA);
 
        /* this case cannot be direct_linked: it's just the ID part */
        if(bhead->code==ID_ID) {
@@ -12176,6 +12224,9 @@ static void expand_lamp(FileData *fd, Main *mainvar, Lamp *la)
        
        if (la->adt)
                expand_animdata(fd, mainvar, la->adt);
+
+       if(la->nodetree)
+               expand_nodetree(fd, mainvar, la->nodetree);
 }
 
 static void expand_lattice(FileData *fd, Main *mainvar, Lattice *lt)
@@ -12203,6 +12254,9 @@ static void expand_world(FileData *fd, Main *mainvar, World *wrld)
        
        if (wrld->adt)
                expand_animdata(fd, mainvar, wrld->adt);
+
+       if(wrld->nodetree)
+               expand_nodetree(fd, mainvar, wrld->nodetree);
 }
 
 
index 7f79159..56db4d2 100644 (file)
@@ -1771,6 +1771,12 @@ static void write_worlds(WriteData *wd, ListBase *idbase)
                        for(a=0; a<MAX_MTEX; a++) {
                                if(wrld->mtex[a]) writestruct(wd, DATA, "MTex", 1, wrld->mtex[a]);
                        }
+
+                       /* nodetree is integral part of lamps, no libdata */
+                       if(wrld->nodetree) {
+                               writestruct(wd, DATA, "bNodeTree", 1, wrld->nodetree);
+                               write_nodetree(wd, wrld->nodetree);
+                       }
                        
                        write_previews(wd, wrld->preview);
                }
@@ -1800,6 +1806,12 @@ static void write_lamps(WriteData *wd, ListBase *idbase)
                        if(la->curfalloff)
                                write_curvemapping(wd, la->curfalloff); 
                        
+                       /* nodetree is integral part of lamps, no libdata */
+                       if(la->nodetree) {
+                               writestruct(wd, DATA, "bNodeTree", 1, la->nodetree);
+                               write_nodetree(wd, la->nodetree);
+                       }
+
                        write_previews(wd, la->preview);
                        
                }
index 3ebd06a..379af40 100644 (file)
  *  \ingroup eddatafiles
  */
 /* DataToC output of file <bfont_ttf> */
-int datatoc_bfont_ttf_size= 191532;
+
+int datatoc_bfont_ttf_size= 190044;
 char datatoc_bfont_ttf[]= {
-  0,  1,  0,  0,  0, 17,  1,  0,  0,  4,  0, 16,
- 79, 83, 47, 50,150,230,175, 11,  0,  0,  1,152,  0,  0,  0, 86, 99,109, 97,112, 83, 13, 80,227,  0,  0, 28, 64,  0,  0,  3,138,
- 99,118,116, 32,  0,105, 29, 57,  0,  0, 37,224,  0,  0,  1,254,102,101, 97,116,128, 29, 10, 57,  0,  2,233,124,  0,  0,  0, 80,
-102,112,103,109,113, 52,118,106,  0,  0, 31,204,  0,  0,  0,171,103,108,121,102, 31, 47,248,201,  0,  0, 53, 40,  0,  1,229,240,
-104,101, 97,100,232, 93,169,219,  0,  0,  1, 28,  0,  0,  0, 54,104,104,101, 97, 12,184, 14,241,  0,  0,  1, 84,  0,  0,  0, 36,
-104,109,116,120,203, 81,215, 70,  0,  0,  1,240,  0,  0, 26, 78,107,101,114,110,239,172, 97,238,  0,  2, 27, 24,  0,  0, 60,  6,
-108,111, 99, 97,253, 73,117,214,  0,  0, 39,224,  0,  0, 13, 72,109, 97,120,112, 10,234,  6,122,  0,  0,  1,120,  0,  0,  0, 32,
-109,111,114,120,223,111, 12,226,  0,  2,213,  8,  0,  0, 20,116,110, 97,109,101,179,203,190,182,  0,  2, 87, 32,  0,  0, 65, 55,
-112,111,115,116, 15, 42,244, 94,  0,  2,152, 88,  0,  0, 60,174,112,114,101,112, 59,  7,241,  0,  0,  0, 32,120,  0,  0,  5,104,
-112,114,111,112, 68,181,210, 32,  0,  2,233,204,  0,  0,  2, 96,  0,  1,  0,  0,  0,  2,204,204, 16,228, 33, 70, 95, 15, 60,245,
-  2, 27,  8,  0,  0,  0,  0,  0,192,243, 73,110,  0,  0,  0,  0,192,243, 73,110,247,214,252,235, 13,114,  8, 75,  0,  0,  0,  8,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  7,109,254, 29,  0,  0, 13,226,247,214,252,109, 13,114,  0,  1,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,132,  0,  1,  0,  0,  6,163,  0, 93,  0,  9,  0,112,  0,  8,  0,  2,  0, 16,  0, 64,
-  0,  8,  0,  0,  4, 21,  5,104,  0,  8,  0,  3,  0,  1,  4, 14,  1,144,  0,  5,  0,  0,  5, 51,  5,153,  0,  0,  3,215,  5, 51,
-  5,153,  0,  0,  0,  0,  0,102,  2, 18,  0,  0,  2, 11,  6,  3,  3,  8,  4,  2,  2,  4,224,  0, 38,255, 64,  0,  4,255,  0,  4,
-  0, 32,  0,  0,  0,  0, 80,102, 69,100,  0, 64,  0, 13,255,253,  6, 20,254, 20,  1,154,  7,109,  1,227, 96,  0,  1,255,191,255,
-  0,  0,  0,  0,  4,205,  0,102,  0,  0,  0,  0,  2,170,  0,  0,  2,139,  0,  0,  3, 53,  1, 53,  3,174,  0,197,  6,180,  0,158,
-  5, 23,  0,170,  7,154,  0,113,  6, 61,  0,129,  2, 51,  0,197,  3, 31,  0,176,  3, 31,  0,164,  4,  0,  0, 61,  6,180,  0,217,
-  2,139,  0,158,  2,227,  0,100,  2,139,  0,219,  2,178,  0,  0,  5, 23,  0,135,  5, 23,  0,225,  5, 23,  0,150,  5, 23,  0,156,
-  5, 23,  0,100,  5, 23,  0,158,  5, 23,  0,143,  5, 23,  0,168,  5, 23,  0,139,  5, 23,  0,129,  2,178,  0,240,  2,178,  0,158,
-  6,180,  0,217,  6,180,  0,217,  6,180,  0,217,  4, 63,  0,147,  8,  0,  0,135,  5,121,  0, 16,  5,125,  0,201,  5,150,  0,115,
-  6, 41,  0,201,  5, 14,  0,201,  4,154,  0,201,  6, 51,  0,115,  6,  4,  0,201,  2, 92,  0,201,  2, 92,255,150,  5, 63,  0,201,
-  4,117,  0,201,  6,231,  0,201,  5,252,  0,201,  6, 76,  0,115,  4,211,  0,201,  6, 76,  0,115,  5,143,  0,201,  5, 20,  0,135,
-  4,227,255,250,  5,219,  0,178,  5,121,  0, 16,  7,233,  0, 68,  5,123,  0, 61,  4,227,255,252,  5,123,  0, 92,  3, 31,  0,176,
-  2,178,  0,  0,  3, 31,  0,199,  6,180,  0,217,  4,  0,255,236,  4,  0,  0,170,  4,231,  0,123,  5, 20,  0,186,  4,102,  0,113,
-  5, 20,  0,113,  4,236,  0,113,  2,209,  0, 47,  5, 20,  0,113,  5, 18,  0,186,  2, 57,  0,193,  2, 57,255,219,  4,162,  0,186,
-  2, 57,  0,193,  7,203,  0,186,  5, 18,  0,186,  4,229,  0,113,  5, 20,  0,186,  5, 20,  0,113,  3, 74,  0,186,  4, 43,  0,111,
-  3, 35,  0, 55,  5, 18,  0,174,  4,188,  0, 61,  6,139,  0, 86,  4,188,  0, 59,  4,188,  0, 61,  4, 51,  0, 88,  5, 23,  1,  0,
-  2,178,  1,  4,  5, 23,  1,  0,  6,180,  0,217,  5, 23,  0,  0,  3, 53,  1, 53,  5, 23,  0,172,  5, 23,  0,129,  5, 23,  0, 94,
-  5, 23,  0, 82,  2,178,  1,  4,  4,  0,  0, 92,  4,  0,  0,215,  8,  0,  1, 27,  3,197,  0,115,  4,229,  0,158,  6,180,  0,217,
-  2,227,  0,100,  8,  0,  1, 27,  4,  0,  0,213,  4,  0,  0,195,  6,180,  0,217,  3, 53,  0, 94,  3, 53,  0, 98,  4,  0,  1,115,
-  5, 23,  0,174,  5, 23,  0,158,  2,139,  0,219,  4,  0,  1, 35,  3, 53,  0,137,  3,197,  0, 96,  4,229,  0,193,  7,193,  0,137,
-  7,193,  0,137,  7,193,  0, 98,  4, 63,  0,143,  5,121,  0, 16,  5,121,  0, 16,  5,121,  0, 16,  5,121,  0, 16,  5,121,  0, 16,
-  5,121,  0, 16,  7,203,  0,  8,  5,150,  0,115,  5, 14,  0,201,  5, 14,  0,201,  5, 14,  0,201,  5, 14,  0,201,  2, 92,  0,201,
-  2, 92,  0,201,  2, 92,  0,201,  2, 92,  0,201,  6, 51,  0, 10,  5,252,  0,201,  6, 76,  0,115,  6, 76,  0,115,  6, 76,  0,115,
-  6, 76,  0,115,  6, 76,  0,115,  6,180,  1, 25,  6, 76,  0,102,  5,219,  0,178,  5,219,  0,178,  5,219,  0,178,  5,219,  0,178,
-  4,227,255,252,  4,215,  0,201,  5, 10,  0,186,  4,231,  0,123,  4,231,  0,123,  4,231,  0,123,  4,231,  0,123,  4,231,  0,123,
-  4,231,  0,123,  7,219,  0,123,  4,102,  0,113,  4,236,  0,113,  4,236,  0,113,  4,236,  0,113,  4,236,  0,113,  2, 57,255,199,
-  2, 57,  0,144,  2, 57,255,222,  2, 57,255,244,  4,229,  0,113,  5, 18,  0,186,  4,229,  0,113,  4,229,  0,113,  4,229,  0,113,
-  4,229,  0,113,  4,229,  0,113,  6,180,  0,217,  4,229,  0, 72,  5, 18,  0,174,  5, 18,  0,174,  5, 18,  0,174,  5, 18,  0,174,
-  4,188,  0, 61,  5, 20,  0,186,  4,188,  0, 61,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,
-  4,231,  0,123,  5,150,  0,115,  4,102,  0,113,  5,150,  0,115,  4,102,  0,113,  5,150,  0,115,  4,102,  0,113,  5,150,  0,115,
-  4,102,  0,113,  6, 41,  0,201,  5, 20,  0,113,  6, 51,  0, 10,  5, 20,  0,113,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,
-  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  6, 51,  0,115,
-  5, 20,  0,113,  6, 51,  0,115,  5, 20,  0,113,  6, 51,  0,115,  5, 20,  0,113,  6, 51,  0,115,  5, 20,  0,113,  6,  4,  0,201,
-  5, 18,  0,186,  7, 84,  0,201,  5,143,  0,120,  2, 92,  0,201,  2, 57,255,211,  2, 92,  0,  3,  2, 57,255,242,  2, 92,  0,201,
-  2, 57,255,228,  2, 92,  0,176,  2, 57,  0,150,  2, 92,  0,201,  2, 57,  0,193,  4,184,  0,201,  4,114,  0,193,  2, 92,255,150,
-  2, 57,255,219,  5, 63,  0,201,  4,162,  0,186,  4,162,  0,186,  4,117,  0,201,  2, 88,  0,193,  4,117,  0,201,  2, 57,  0,136,
-  4,117,  0,201,  3,  0,  0,193,  4,117,  0,201,  2,188,  0,193,  4,127,255,242,  2, 70,  0,  2,  5,252,  0,201,  5, 18,  0,186,
-  5,252,  0,201,  5, 18,  0,186,  5,252,  0,201,  5, 18,  0,186,  6,130,  0,205,  5,252,  0,213,  5, 18,  0,186,  6, 76,  0,115,
-  4,229,  0,113,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,  4,229,  0,113,  8,143,  0,115,  8, 47,  0,113,  5,143,  0,201,
-  3, 74,  0,186,  5,143,  0,201,  3, 74,  0,130,  5,143,  0,201,  3, 74,  0,186,  5, 20,  0,135,  4, 43,  0,111,  5, 20,  0,135,
-  4, 43,  0,111,  5, 20,  0,135,  4, 43,  0,111,  5, 20,  0,135,  4, 43,  0,111,  4,227,255,250,  3, 35,  0, 55,  4,227,255,250,
-  3, 35,  0, 55,  4,227,255,250,  3, 35,  0, 55,  5,219,  0,178,  5, 18,  0,174,  5,219,  0,178,  5, 18,  0,174,  5,219,  0,178,
-  5, 18,  0,174,  5,219,  0,178,  5, 18,  0,174,  5,219,  0,178,  5, 18,  0,174,  5,219,  0,178,  5, 18,  0,174,  7,233,  0, 68,
-  6,139,  0, 86,  4,227,255,252,  4,188,  0, 61,  4,227,255,252,  5,123,  0, 92,  4, 51,  0, 88,  5,123,  0, 92,  4, 51,  0, 88,
-  5,123,  0, 92,  4, 51,  0, 88,  2,209,  0, 47,  5, 20,  0, 32,  5,225,255,151,  5,125,  0,201,  5, 20,  0,186,  5,125,  0,  0,
-  5, 20,  0,  0,  5,160,  0,115,  5,150,  0,115,  4,102,  0,113,  6, 51,  0, 10,  6,141,255,151,  5,125,  0,201,  5, 20,  0,113,
-  4,229,  0,113,  5, 14,  0,131,  6, 76,  0,117,  4,234,  0,164,  4,154,255,150,  2,209,255,127,  6, 51,  0,115,  5,126,  0,  8,
-  7,180,  0,186,  2,212,  0,201,  2, 92,  0, 10,  5,133,  0,201,  4,162,  0,185,  2, 57,  0, 10,  4,188,  0, 61,  7,203,  0,178,
-  5,252,255,150,  5, 18,  0,186,  6, 76,  0,115,  7, 78,  0,103,  4,229,  0,118,  7,151,  0,115,  6, 19,  0,113,  5, 55,255,151,
-  5, 20,  0,184,  4,215,  0,201,  5, 20,  0, 69,  4, 43,  0,100,  5, 14,  0,201,  2,176,254,242,  3, 35,  0, 55,  4,227,  0, 24,
-  3, 35,  0, 55,  4,227,255,250,  6,221,  0,173,  5, 18,  0,176,  6, 29,  0, 78,  5,196,  0,201,  5,145,255,252,  6,112,  0, 61,
-  5,123,  0, 92,  4, 51,  0, 88,  5, 84,  0,160,  5, 84,  0, 92,  4,159,  0,104,  4, 51,  0,113,  5, 23,  0,150,  5, 84,  0, 93,
-  4,159,  0,104,  4, 21,  0, 88,  5, 20,  0,186,  2, 92,  0,201,  3,240,  0,201,  3,172,  0, 20,  2, 93,  0,201, 11, 96,  0,201,
- 10,100,  0,201,  9, 60,  0,113,  6,175,  0,201,  6, 75,  0,201,  3,167,  0,193,  7,115,  0,201,  7,100,  0,201,  6, 97,  0,186,
-  5,121,  0, 16,  4,231,  0,123,  2, 92,  0,201,  2, 57,255,224,  6, 76,  0,115,  4,229,  0,113,  5,219,  0,178,  5, 18,  0,174,
-  5,219,  0,178,  5, 18,  0,174,  5,219,  0,178,  5, 18,  0,174,  5,219,  0,178,  5, 18,  0,174,  5,219,  0,178,  5, 18,  0,174,
-  4,236,  0,  0,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,  7,203,  0,  8,  7,219,  0,123,  6, 51,  0,115,
-  5, 20,  0,113,  6, 51,  0,115,  5, 20,  0,113,  5, 63,  0,201,  4,162,  0,186,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,
-  4,229,  0,113,  5, 84,  0,160,  4,159,  0,220,  2, 57,255,219, 11, 96,  0,201, 10,100,  0,201,  9, 60,  0,113,  6, 51,  0,115,
-  5, 20,  0,113,  8,231,  0,201,  5,117,  0,201,  5,252,  0,201,  5, 18,  0,186,  5,121,  0, 16,  4,231,  0,123,  7,203,  0,  8,
-  7,219,  0,123,  6, 76,  0,102,  4,229,  0, 72,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,  5, 14,  0,201,
-  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  2, 92,  0,201,  2, 57,255,195,  2, 92,  0,201,  2, 57,255,228,  6, 76,  0,115,
-  4,229,  0,113,  6, 76,  0,115,  4,229,  0,113,  5,143,  0,201,  3, 74,  0,130,  5,143,  0,201,  3, 74,  0,186,  5,219,  0,178,
-  5, 18,  0,174,  5,219,  0,178,  5, 18,  0,174,  5, 20,  0,135,  4, 43,  0,111,  4,227,255,250,  3, 35,  0, 55,  5,  4,  0,156,
-  4, 44,  0, 71,  6,  4,  0,201,  5, 18,  0,186,  5,226,  0,201,  6,180,  0,113,  5,150,  0,113,  4,226,  0,113,  5,123,  0, 92,
-  4, 51,  0, 88,  5,121,  0, 16,  4,231,  0,123,  5, 14,  0,201,  4,236,  0,113,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,
-  4,229,  0,113,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,  4,229,  0,113,  4,227,255,252,  4,188,  0, 61,  3,204,  0,138,
-  6,190,  0,186,  3,209,  0, 55,  2, 57,255,219,  7,252,  0,113,  7,252,  0,113,  5,121,255,253,  5,150,  0, 11,  4,102,  0,  9,
-  4,117,  0, 10,  4,227,255,178,  4, 43,  0,111,  4, 51,  0, 88,  4,211,  0, 80,  8,  0,  0,  0,  8,  0,  0,  0,  8,  0,  0,  0,
-  8,  0,  0,  0,  8,  0,  0,  0,  3, 60,  0,117,  3, 49,  0,117,  1,102,255,233,  2, 18,  0,117,  2, 93,  0, 71,  2, 94,  0, 71,
-  3,  8,  0, 32,  4, 31,  0, 54,  2,251,  0, 38,  2, 51,  0,197,  3,174,  0,197,  2,139,  0,174,  2,139,  0,178,  2,139,  0,196,
-  2,117,  0,117,  2,117,  0,117,  2,245,  0,117,  2,245,  0,117,  4,  0,  1, 11,  4,  0,  1, 11,  4,  0,  0,193,  4,  0,  0,193,
-  4,  0,  0,193,  4,  0,  0,193,  2, 51,  0,214,  4,  0,  0,213,  4,  0,  1,115,  4,  0,  0,170,  2, 51,  0,214,  4,  0,  0,213,
-  4,  0,  0,170,  4,  0,  1,115,  2,178,  0,111,  2,178,  0,111,  2,117,  0,117,  2,117,  0,117,  4,  0,  1, 31,  4,  0,  1, 31,
-  3, 77,  0,193,  4,  0,  1, 31,  4,  0,  0,199,  4,  0,  1,154,  4,  0,  0,238,  4,  0,  1, 76,  4,  0,  0,182,  4,  0,  0,240,
-  2,134,255,255,  4,  0,  0,239,  3,104,  0,117,  1, 84,  0,121,  2,252,  0,117,  3,141,  0,117,  2,245,  0,117,  3,242,  0,214,
-  3,242,  0,214,  3,242,  0,214,  3,242,  0,214,  3,242,  0,214,  4,  0,  0,193,  4,  0,  0,213,  4,  0,  1, 21,  4,  0,  0,238,
-  4,  0,  0,182,  0,  0,252,168,  0,  0,253,113,  0,  0,252,191,  0,  0,252,180,  0,  0,252,217,  0,  0,251,236,  0,  0,252,191,
-  0,  0,253,164,  0,  0,252,213,  0,  0,253, 55,  0,  0,252,236,  0,  0,252,244,  0,  0,252,197,  0,  0,253,188,  0,  0,252,240,
-  0,  0,252, 93,  0,  0,252,191,  0,  0,252,191,  0,  0,254, 31,  0,  0,253,144,  0,  0,253,144,  0,  0,255,121,  0,  0,252,168,
-  0,  0,253,113,  0,  0,253, 12,  0,  0,253,188,  0,  0,254, 85,  0,  0,254,240,  0,  0,253,129,  0,  0,253, 11,  0,  0,253, 11,
-  0,  0,253, 11,  0,  0,253, 11,  0,  0,253,122,  0,  0,253,119,  0,  0,253,154,  0,  0,252,213,  0,  0,252,236,  0,  0,253,106,
-  0,  0,253, 35,  0,  0,253, 76,  0,  0,253,188,  0,  0,252,240,  0,  0,252, 99,  0,  0,252,197,  0,  0,252,191,  0,  0,252,191,
-  0,  0,252,191,  0,  0,252,180,  0,  0,252,217,  0,  0,251,236,  0,  0,251,236,  0,  0,251,140,  0,  0,253,120,  0,  0,250,237,
-  0,  0,251,104,  0,  0,250, 18,  0,  0,253,249,  0,  0,252,241,  0,  0,252,240,  0,  0,252, 99,  0,  0,253, 43,  0,  0,254,  6,
-  0,  0,251,236,  0,  0,252,168,  0,  0,253,113,  0,  0,252,180,  0,  0,253,133,  0,  0,252,231,  0,  0,253,198,  0,  0,252,213,
-  0,  0,253, 31,  0,  0,253, 21,  0,  0,253, 31,  0,  0,252,182,  0,  0,253, 72,  0,  0,  0,  0,  0,  0,252, 99,  0,  0,253, 51,
-  0,  0,253,120,  0,  0,252,191,  0,  0,253, 43,  0,  0,253,120,  0,  0,255, 46,  0,  0,252,112,  0,  0,252,112,  0,  0,253, 42,
-  0,  0,252,112,  0,  0,252,119,  2, 58,  0,160,  2, 58,  0,160,  4,  0,  1,182,  2,178,  0,158,  4,  0,  1,115,  4,  0,  0,215,
-  5,138,  0, 16,  2,139,  0,219,  5,248,255,231,  6,248,255,243,  3, 68,255,237,  6,128,255,242,  6,153,255,225,  6,155,255,219,
-  2,181,  0,  5,  5,121,  0, 16,  5,125,  0,201,  4,117,  0,201,  5,121,  0, 16,  5, 14,  0,201,  5,123,  0, 92,  6,  4,  0,201,
-  6, 76,  0,115,  2, 92,  0,201,  5, 63,  0,201,  5,121,  0, 16,  6,231,  0,201,  5,252,  0,201,  5, 14,  0,201,  6, 76,  0,115,
-  6,  4,  0,201,  4,211,  0,201,  5, 14,  0,201,  4,227,255,250,  4,227,255,252,  6, 76,  0,115,  5,123,  0, 61,  6, 76,  0,115,
-  6, 29,  0, 78,  2, 92,  0,201,  4,227,255,252,  5, 70,  0,113,  4, 99,  0,133,  5, 60,  0,186,  2,181,  0,166,  4,161,  0,149,
-  5, 70,  0,113,  5, 27,  0,191,  4,188,  0, 32,  4,229,  0,113,  4, 83,  0,133,  4, 90,  0,107,  5, 18,  0,186,  4,229,  0,113,
-  2,181,  0,166,  4,183,  0,191,  4,188,  0, 61,  5, 23,  0,174,  4,120,  0, 74,  4,118,  0,107,  4,229,  0,113,  4,209,  0, 74,
-  5, 20,  0,186,  4,178,  0,113,  5, 18,  0,113,  4,209,  0,100,  4,161,  0,149,  5, 71,  0,111,  4,159,  0, 59,  5, 71,  0,112,
-  6,179,  0,135,  2,181,  0,  5,  4,161,  0,149,  4,229,  0,113,  4,161,  0,149,  6,179,  0,135,  4,234,  0,166,  4,244,  0,112,
-  5,151,  0, 87,  6,189,255,225,  5,151,  0, 87,  5, 71,  0,112,  6,179,  0, 65,  5, 79,  0,111,  6, 76,  0,115,  4,229,  0,113,
-  5, 48,  0,139,  4,178,  0,113,  4,154,  0,201,  3,171,255, 64,  5, 71,  0,179,  5, 71,  0,191,  6,236,  0,114,  5,  5,  0,119,
-  7,120,  0,115,  6,179,  0,135,  6, 17,  0,115,  5, 70,  0,113,  6, 85,  0,201,  4,235,  0, 45,  5,126,  0, 79,  4,219,  0,100,
-  6, 36,  0,115,  5,  0,  0, 54,  5,152,  0,115,  4,229,  0,113,  4,227,  0, 44,  4, 74,  0, 55,  5, 79,  0,111,  5, 20,  0,183,
-  4,102,  0,113,  2, 57,255,219,  6, 76,  0,115,  4,236,  0,113,  4,236,  0,196,  4,215,  0,201,  5, 20,  0,186,  5,150,  0,115,
-  6,231,  0,201,  5, 53,  0,127,  5, 20,  0, 85,  5,160,  0,115,  5,150,  0,115,  5,160,  0,115,  5, 14,  0,201,  5, 14,  0,201,
-  6, 74,255,250,  4,117,  0,201,  5,150,  0,115,  5, 20,  0,135,  2, 92,  0,201,  2, 92,  0,201,  2, 92,255,150,  8,192,  0, 54,
-  8, 92,  0,201,  6, 74,255,250,  5, 63,  0,201,  5,252,  0,201,  4,224,  0, 35,  6,  4,  0,201,  5,121,  0, 16,  5,125,  0,201,
-  5,125,  0,201,  4,117,  0,201,  6, 54,  0, 49,  5, 14,  0,201,  6,232,  0, 59,  5, 23,  0,156,  5,252,  0,201,  5,252,  0,201,
-  5, 63,  0,201,  6,  4,  0, 54,  6,231,  0,201,  6,  4,  0,201,  6, 76,  0,115,  6,  4,  0,201,  4,211,  0,201,  5,150,  0,115,
-  4,227,255,250,  4,224,  0, 35,  6, 76,  0,115,  5,123,  0, 61,  6, 54,  0,201,  5,124,  0,175,  8,  6,  0,201,  8, 52,  0,201,
-  6,169,  0, 50,  7, 15,  0,201,  5,125,  0,201,  5,150,  0,111,  8, 63,  0,211,  5,143,  0, 59,  4,231,  0,123,  4,229,  0,113,
-  4,176,  0,186,  3,238,  0,186,  5, 96,  0, 50,  4,236,  0,113,  5,222,  0, 50,  4, 83,  0,133,  5, 65,  0,193,  5, 65,  0,193,
-  4,213,  0,191,  5, 29,  0, 46,  6,  9,  0,193,  5, 73,  0,193,  4,229,  0,113,  5, 71,  0,193,  5, 20,  0,186,  4,102,  0,113,
-  4, 59,  0,  5,  4,188,  0, 61,  7, 85,  0,113,  4,188,  0, 59,  5,114,  0,193,  4,186,  0,150,  6,251,  0,193,  7, 36,  0,193,
-  5,160,  0, 42,  6, 31,  0,193,  4,183,  0,193,  4,100,  0,113,  6,128,  0,193,  4,208,  0, 50,  4,236,  0,113,  4,236,  0,113,
-  5, 39,  0, 40,  3,238,  0,186,  4,100,  0,113,  4, 43,  0,111,  2, 57,  0,193,  2, 57,255,244,  2, 57,255,219,  7, 48,  0, 46,
-  7, 34,  0,193,  5, 25,  0, 40,  4,213,  0,191,  5, 65,  0,193,  4,188,  0, 61,  5, 76,  0,193,  7,120,  0,115,  6,179,  0,135,
-  5,125,  0, 33,  4,183,  0, 58,  7,138,  0,211,  5,254,  0,193,  7,  9,  0, 16,  6, 68,  0, 51,  9, 71,  0,201,  8,  3,  0,193,
-  6, 76,  0,115,  4,229,  0,107,  8, 55,  0,201,  6,152,  0,193,  5, 23,  0,115,  4, 83,  0, 91,  6, 76,  0,115,  5, 71,  0,112,
-  6, 76,  0,115,  4,229,  0,113,  6, 64,  0, 16,  5, 82,  0, 50,  6, 64,  0, 16,  5, 82,  0, 50,  5,150,  0,113,  4,226,  0,113,
-  7,160,  0,115,  6, 17,  0,113,  7,120,  0,115,  6,179,  0,135,  7,120,  0,115,  6,179,  0,135,  5,150,  0,115,  4,102,  0,113,
-  4,192,  0, 50,  0,  0,251,218,  0,  0,251,247,  0,  0,252, 34,  0,  0,252, 34,  3, 88,247,214,  3, 88,248, 88,  6, 46,  0,201,
-  5,106,  0,193,  5,125,  0, 33,  4,183,  0, 38,  4,211,  0,201,  5, 20,  0,186,  4,117,  0,201,  3,238,  0,186,  4,117,  0, 71,
-  3,238,  0, 56,  4,254,  0,201,  4, 61,  0,186,  6,232,  0, 59,  5,222,  0, 50,  5, 23,  0,156,  4, 83,  0,133,  5, 63,  0,201,
-  4,213,  0,191,  5, 63,  0,201,  4,213,  0,191,  5, 63,  0, 33,  4,162,  0, 61,  6,107,  0, 50,  5,191,  0, 42,  6,  4,  0,201,
-  5, 73,  0,193,  8, 29,  0,201,  7,  4,  0,193,  8,166,  0,201,  7, 83,  0,193,  6, 94,  0,115,  5, 54,  0,113,  5,150,  0,115,
-  4,102,  0,113,  4,227,255,250,  4, 59,  0,  5,  4,227,255,252,  4,188,  0, 61,  4,227,255,252,  4,188,  0, 61,  5,123,  0, 61,
-  4,188,  0, 59,  7,121,255,250,  6,116,  0,  5,  5,124,  0,175,  4,186,  0,150,  5,124,  0,175,  4,186,  0,150,  5,124,  0,175,
-  5, 18,  0,186,  7,135,  0, 20,  5,211,  0, 15,  7,135,  0, 20,  5,211,  0, 15,  2, 57,  0,193,  6,232,  0, 59,  5,222,  0, 50,
-  5, 63,  0,201,  4,213,  0,191,  6, 53,  0, 54,  5, 93,  0, 46,  6,  4,  0,201,  5, 73,  0,193,  6, 54,  0,201,  5,114,  0,193,
-  5,124,  0,175,  4,186,  0,150,  7, 26,  0,201,  6, 50,  0,193,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,
-  7,203,  0,  8,  7,219,  0,123,  5, 14,  0,201,  4,236,  0,113,  6, 76,  0,117,  4,236,  0,  0,  6, 76,  0,117,  4,236,  1, 43,
-  6,232,  0, 59,  5,222,  0, 50,  5, 23,  0,156,  4, 83,  0,133,  5, 84,  0,160,  4,159,  0,  0,  5,252,  0,201,  5, 65,  0,193,
-  5,252,  0,201,  5, 65,  0,193,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,  4,229,  0,  0,  6, 76,  0,115,  4,229,  1, 74,
-  5,150,  0,111,  4,100,  0,113,  4,224,  0, 35,  4,188,  0, 61,  4,224,  0, 35,  4,188,  0, 61,  4,224,  0, 35,  4,188,  0, 61,
-  5,124,  0,175,  4,186,  0,150,  4,117,  0,201,  3,238,  0,186,  7, 15,  0,201,  6, 31,  0,193,  5,125,  0,145,  4,183,  0,113,
-  8, 12,  0,145,  7, 45,  0,113,  7,204,  0,201,  6,244,  0,171,  5,110,  0,201,  4,181,  0,171,  8,147,  0, 54,  7,168,  0, 46,
-  8,148,  0,201,  7,189,  0,193,  6, 51,  0,115,  5, 71,  0,  0,  6, 47,255,250,  5,176,  0,  5,  6,239,  0,178,  5,219,  0,178,
-  7, 15,  0,178,  7, 15,  0,178,  5,219,  0,178,  5, 38,  0,155,  5,219,  0,178,  5,219,  0,178,  6,206,  0,178,  7, 15,  0,178,
-  5,219,  0,178,  5,  8,  0,178,  6,151,  0,178,  7,228,  0, 65,  5,219,  0,178,  5,168,  0,178,  5, 38,  0,143,  7, 15,  0,178,
-  6, 55,  0, 92,  7, 15,  0,178,  5,219,  0,140,  6,185,  0, 92,  5,219,  0,178,  5,219,  0,178,  5,219,  0,178,  6, 83,  0,178,
-  5, 38,  0,155,  7, 15,  0,178,  5,219,  0,178,  7, 15,  0,178,  5, 20,  0,135,  5,219,  0,178,  5,219,  0,140,  6,101,  0,178,
-  6, 76,  0,115,  6, 82,  0, 92,  6, 76,  0,115,  5, 20,  0,135,  2,117,  0,117,  2,139,  0,178,  4,  0,  0, 94,  4,  0,  0,120,
-  3, 34,  0,158,  4, 54,  0, 94,  4,  0,  0, 90,  7,203,  0,186,  5, 18,  0,186,  5,147,  0,113,  5,157,  0,186,  5, 18,  0,174,
-  5,147,  0,113,  4, 68,  0,174,  5, 18,  0,186,  5,154,  0,186,  5,147,  0,113,  5, 18,  0,186,  3, 59,  0,193,  7,189,  0,186,
-  5, 32,  0,113,  5, 18,  0,174,  5, 18,  0,186,  5, 20,  0,113,  5,157,  0,186,  5, 18,  0,174,  5, 70,  0,174,  2, 57,255,219,
-  6, 20,  0, 49,  4, 32,  0,159,  5, 18,  0,186,  3,159,  0, 70,  7,203,  0,  0,  4, 32,  0,159,  5, 18,  0,186,  5, 18,  0,174,
-  5,145,  0,174,  7,202,  0,174,  5, 18,  0,186,  5, 20,  0,113,  3, 59,  0,193,  7,202,  0,174,  5, 47,  0,  0,  4,229,  0,113,
-  5,  8,  0,122,  6, 26,  0,174,  2,178,  0,240,  3,119,  0, 96,  2,149,  0,219,  5,121,  0, 16,  4,231,  0,123,  5,125,  0,201,
-  5, 20,  0,186,  5,125,  0,201,  5, 20,  0,186,  5,125,  0,201,  5, 20,  0,186,  5,150,  0,115,  4,102,  0,113,  6, 41,  0,201,
-  5, 20,  0,113,  6, 41,  0,201,  5, 20,  0,113,  6, 41,  0,201,  5, 20,  0,113,  6, 41,  0,201,  5, 20,  0,113,  6, 41,  0,201,
-  5, 20,  0,113,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,
-  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  4,154,  0,201,  2,209,  0, 47,  6, 51,  0,115,  5, 20,  0,113,  6,  4,  0,201,
-  5, 18,  0,186,  6,  4,  0,201,  5, 18,  0,186,  6,  4,  0,201,  5, 18,255,235,  6,  4,  0, 17,  5, 18,  0,  2,  6,  4,  0,201,
-  5, 18,  0,186,  2, 92,  0,  0,  2, 57,  0, 39,  2, 92,  0,201,  2, 57,  0,193,  5, 63,  0,201,  4,162,  0,186,  5, 63,  0,201,
-  4,162,  0,186,  5, 63,  0,201,  4,162,  0,186,  4,117,  0,201,  2, 57,  0,182,  4,117,  0,  3,  2, 57,255,242,  4,117,  0,201,
-  2, 57,  0, 39,  4,117,  0,201,  2, 57,255,222,  6,231,  0,201,  7,203,  0,186,  6,231,  0,201,  7,203,  0,186,  6,231,  0,201,
-  7,203,  0,186,  5,252,  0,201,  5, 18,  0,186,  5,252,  0,201,  5, 18,  0,186,  5,252,  0,201,  5, 18,  0,186,  5,252,  0,201,
-  5, 18,  0,186,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,
-  4,229,  0,113,  4,211,  0,201,  5, 20,  0,186,  4,211,  0,201,  5, 20,  0,186,  5,143,  0,201,  3, 74,  0,186,  5,143,  0,201,
-  3, 74,  0,186,  5,143,  0,201,  3, 74,  0,186,  5,143,  0,201,  3, 74,  0, 84,  5, 20,  0,135,  4, 43,  0,111,  5, 20,  0,135,
-  4, 43,  0,111,  5, 20,  0,135,  4, 43,  0,111,  5, 20,  0,135,  4, 43,  0,111,  5, 20,  0,135,  4, 43,  0,111,  4,227,255,250,
-  3, 35,  0, 55,  4,227,255,250,  3, 35,  0, 55,  4,227,255,250,  3, 35,  0, 55,  4,227,255,250,  3, 35,  0, 55,  5,219,  0,178,
-  5, 18,  0,174,  5,219,  0,178,  5, 18,  0,174,  5,219,  0,178,  5, 18,  0,174,  5,219,  0,178,  5, 18,  0,174,  5,219,  0,178,
-  5, 18,  0,174,  5,121,  0, 16,  4,188,  0, 61,  5,121,  0, 16,  4,188,  0, 61,  7,233,  0, 68,  6,139,  0, 86,  7,233,  0, 68,
-  6,139,  0, 86,  7,233,  0, 68,  6,139,  0, 86,  7,233,  0, 68,  6,139,  0, 86,  7,233,  0, 68,  6,139,  0, 86,  5,123,  0, 61,
-  4,188,  0, 59,  5,123,  0, 61,  4,188,  0, 59,  4,227,255,252,  4,188,  0, 61,  5,123,  0, 92,  4, 51,  0, 88,  5,123,  0, 92,
-  4, 51,  0, 88,  5,123,  0, 92,  4, 51,  0, 88,  5, 18,  0,186,  3, 35,  0,  4,  6,139,  0, 86,  4,188,  0, 61,  4,231,  0,123,
-  2,209,  0, 47,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,
-  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,
-  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,  4,231,  0,123,  5,121,  0, 16,
-  4,231,  0,123,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,
-  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,  4,236,  0,113,  5, 14,  0,201,
-  4,236,  0,113,  2, 92,  0, 90,  2, 57,  0, 68,  2, 92,  0,200,  2, 57,  0,183,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,
-  4,229,  0,113,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,  4,229,  0,113,  6, 76,  0,115,
-  4,229,  0,113,  6, 76,  0,115,  4,229,  0,113,  7, 78,  0,103,  4,229,  0,118,  7, 78,  0,103,  4,229,  0,118,  7, 78,  0,103,
-  4,229,  0,118,  7, 78,  0,103,  4,229,  0,118,  7, 78,  0,103,  4,229,  0,118,  5,219,  0,178,  5, 18,  0,174,  5,219,  0,178,
-  5, 18,  0,174,  6,221,  0,173,  5, 18,  0,176,  6,221,  0,173,  5, 18,  0,176,  6,221,  0,173,  5, 18,  0,176,  6,221,  0,173,
-  5, 18,  0,176,  6,221,  0,173,  5, 18,  0,176,  4,227,255,252,  4,188,  0, 61,  4,227,255,252,  4,188,  0, 61,  4,227,255,252,
-  4,188,  0, 61,  4,227,255,252,  4,188,  0, 61,  4,  0,  1,134,  4,  0,  1,115,  4,  0,  1,134,  4,  0,  0,  0,  8,  0,  0,  0,
-  4,  0,  0,  0,  8,  0,  0,  0,  2,163,  0,  0,  2,  0,  0,  0,  1, 86,  0,  0,  5, 23,  0,  0,  2,139,  0,  0,  1,153,  0,  0,
-  0,204,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,227,  0,100,  2,227,  0,100,
-  4,  0,  0,  0,  4,  0,  0,  0,  8,  0,  0,  0,  8,  0,  0,  0,  4,  0,  1,  4,  4,  0,255,236,  2,139,  0,174,  2,139,  0,178,
-  2,139,  0,174,  2,139,  0,178,  4, 37,  0,174,  4, 37,  0,174,  4, 37,  0,174,  4, 37,  0,174,  4,  0,  0, 57,  4,  0,  0, 57,
-  4,184,  1, 51,  4,184,  1, 51,  2,173,  0,236,  5, 87,  0,236,  8,  0,  0,236,  2,139,  0,220, 10,188,  0,113, 13,226,  0,113,
-  1,209,  0, 40,  2,253,  0, 40,  4, 41,  0, 40,  1,209,  0, 40,  2,253,  0, 40,  4, 41,  0, 40,  2,182,  0, 11,  3, 51,  0,158,
-  3, 51,  0,193,  6,180,  0,195,  3,226,  0,147,  4, 63,  0,147,  4,  0,255,236,  6,110,255,167,  6,110,255,167,  2,  0,255,170,
-  8,  0,  0, 61,  4,  0,  0,221,  1, 86,254,137,  3, 31,  0,176,  3, 31,  0,176,  7, 96,  0, 73,  5,221,  0,147,  5,221,  0,147,
-  3,240,  0,111,  5, 23,  0,236,  4,  0,  0,216,  4,  0,  0,216,  4,  0,  0, 61,  2,178,  1, 29,  6,110,255,167,  4,  0,  0, 61,
-  3,153,  0,145,  6,180,  0,217,  6,110,255,167,  6,180,  1, 56,  4,176,  0,250,  5, 78,  0, 40,  6,180,  1,102,  6,180,  1,102,
-  2,139,  0,219,  6, 97,  0,100,  6,180,  0,112,  2,139,  0,219,  2,139,  0,219,  3, 53,  0, 87,  1,110,  0,121,  3, 53,  0, 63,
-  3, 53,  0,102,  3, 53,  0, 92,  3, 53,  0,108,  3, 53,  0, 89,  3, 53,  0, 83,  4, 57,  0,137,  4, 57,  0,137,  4, 57,  0,137,
-  1,247,  0,111,  1,247,  0,103,  3, 49,  0,117,  3, 53,  0, 87,  3, 53,  0,137,  3, 53,  0, 94,  3, 53,  0, 98,  3, 53,  0, 63,
-  3, 53,  0,102,  3, 53,  0, 92,  3, 53,  0,108,  3, 53,  0, 89,  3, 53,  0, 83,  4, 57,  0,137,  4, 57,  0,137,  4, 57,  0,137,
-  1,247,  0,111,  1,247,  0,103,  7,  4,  0, 86,  5, 23,  0,115,  5, 23,  0, 96,  5, 23,  0,133,  5, 23,  0,129,  7,203,  0,186,
-  5,252,  0,117, 10, 46,  0,201,  8,151,  0,201,  7,233,  0, 59,  6, 70,  0, 95,  5, 23,  0,129,  5, 23,  0,  0,  5, 23,  0, 40,
-  5, 23,  0, 20,  8,117,  0, 27,  5, 23,  0, 68,  6, 49,  0,117,  5, 33,  0,170,  0,  0,252, 61,  0,  0,252, 61,  8, 38,  0, 67,
-  8,252,  0,195,  5, 35,255,214,  8, 38,  0, 60,  8,137,  0, 60,  7,157,  0,195,  5, 18,  0, 72,  5, 18,  0, 34,  5,148,  0,106,
-  3, 78,255,228,  9, 81,  0,201,  8,  0,  1, 27,  5,148,  0,110,  6,131,  0, 83,  6, 87,  0,118,  7, 44,  0,169,  8, 40,  1,  3,
-  8,152,255,252,  8,  0,  1, 39,  6, 29,  0, 78,  6, 29,  0, 78,  5, 63,  0,201,  5,121,  0, 16,  6,214,  0,125,  4,154,  0,201,
-  3,178,  0,104,  5,246,  0,103,  9,141,  0,151,  6, 61,  0, 59,  7,193,  0,137,  7,193,  0, 94,  7,193,  0,137,  7,193,  0, 94,
-  7,193,  0, 98,  7,193,  0, 63,  7,193,  0,137,  7,193,  0,102,  7,193,  0,137,  7,193,  0, 98,  7,193,  0,102,  7,193,  0,108,
-  4,139,  0,137,  2, 92,  0,201,  3,240,  0,201,  5,132,  0,201,  7, 98,  0,201,  5,121,  0, 16,  7, 97,  0, 16,  8,245,  0, 16,
- 10,137,  0, 16,  7, 87,  0,201,  5,123,  0, 61,  7,119,  0, 61,  9, 13,  0, 61,  4,117,  0,201,  5,150,  0,115,  6, 41,  0,201,
-  6,231,  0,201,  2, 57,  0,193,  3,169,  0,193,  5, 25,  0,193,  6,126,  0,193,  4,188,  0, 61,  6,125,  0, 61,  7,237,  0, 61,
-  9, 93,  0, 61,  6,141,  0,193,  4,188,  0, 59,  6,148,  0, 59,  8,  4,  0, 59,  2, 57,  0,193,  4,102,  0,113,  5, 20,  0,113,
-  7,203,  0,186,  9,246,  0,121,  6, 41,  0,201,  9,246,  0,121,  5,160,  0,115,  6,180,  0,100,  6,180,  1,163,  6,180,  0,117,
-  6,180,  1,163,  6,180,  0,100,  6,180,  1,163,  6,180,  1, 32,  6,180,  1, 32,  6,180,  1, 32,  6,180,  1, 32,  6,180,  0,100,
-  6,180,  0,217,  6,180,  0,217,  6,180,  0,217,  1, 86,254,137,  5, 24,  1,138,  5,  2,  0,190,  5,  2,  1, 68,  2,139,  0,219,
-  5, 25,  0, 61,  5, 25,  0, 61,  5, 25,  0, 61,  5,106,  0,221,  6,170,  0,221,  8,  0,  0,247,  6,180,  0,217,  8,  0,  0,172,
-  3, 31,  0,183,  3, 31,  0,164,  7, 44,  0,152,  7, 44,  0,152,  7, 44,  0,152,  7, 44,  0,152,  7, 44,  0,152,  7, 44,  0,152,
-  7, 44,  0,152,  7, 44,  0,152,  7, 44,  0,152,  7, 44,  0,152,  7, 44,  0,170,  5, 30,  0,170,  5,220,  0,  0,  5,131,  0, 47,
-  5, 10,  0, 47,  5, 10,  0, 47,  7,188,  0, 47,  7,188,  0, 47,  5,125,  0, 47,  6,227,  0,111,  9,157,  0,170,  9,157,  0,174,
-  9,145,  0,174,  9,125,  0,174, 12, 60,  0,174,  8, 52,  0, 30,  8,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  1,  0,  0,  0, 19,  1,  0,  0,  4,  0, 48, 71, 68, 69, 70,  0, 38,  3,135,  0,  2, 61, 32,  0,  0,  0, 30,
+ 71, 80, 79, 83,148,189,162,240,  0,  2, 61, 64,  0,  0,168,250, 71, 83, 85, 66,108,145,116,143,  0,  2,230, 60,  0,  0,  0, 32,
+ 76, 84, 83, 72,201,155,185, 32,  0,  0, 16, 28,  0,  0,  3,134, 79, 83, 47, 50,160,203,149,139,  0,  0,  1,184,  0,  0,  0, 96,
+ 99,109, 97,112,206, 17,212,162,  0,  0, 86,120,  0,  0,  7,158, 99,118,116, 32, 57,126, 62, 76,  0,  0,104, 12,  0,  0,  1,252,
+102,112,103,109,115,211, 35,176,  0,  0, 94, 24,  0,  0,  7,  5,103, 97,115,112,  0,  4,  0,  7,  0,  2, 61, 20,  0,  0,  0, 12,
+103,108,121,102,197,190, 63,150,  0,  0,113, 16,  0,  1,168, 30,104,100,109,120,239, 14,250,171,  0,  0, 19,164,  0,  0, 66,212,
+104,101, 97,100,234,253,135,111,  0,  0,  1, 60,  0,  0,  0, 54,104,104,101, 97, 12, 83,  9,164,  0,  0,  1,116,  0,  0,  0, 36,
+104,109,116,120,210,203, 46, 39,  0,  0,  2, 24,  0,  0, 14,  4,108,111, 99, 97,146,250, 41, 76,  0,  0,106,  8,  0,  0,  7,  6,
+109, 97,120,112,  6, 42,  2,133,  0,  0,  1,152,  0,  0,  0, 32,110, 97,109,101,181, 88,144, 86,  0,  2, 25, 48,  0,  0,  6,162,
+112,111,115,116,216, 80,169, 39,  0,  2, 31,212,  0,  0, 29, 63,112,114,101,112,130,220, 33, 19,  0,  0,101, 32,  0,  0,  2,236,
+  0,  1,  0,  0,  0,  1,  0,  0, 89,115,200,195, 95, 15, 60,245,  0, 25,  8,  0,  0,  0,  0,  0,193,154, 51,  0,  0,  0,  0,  0,
+197, 83,  9, 61,251,137,253,213,  9, 90,  8, 98,  0,  0,  0,  6,  0,  2,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  7,109,254, 29,
+  0,  0,  9,100,251,137,254,162,  9, 90,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,128,  0,  1,  0,  0,
+  3,130,  0,160,  0, 22,  0,122,  0,  5,  0,  2,  0, 16,  0, 47,  0, 90,  0,  0,  2, 31,  1, 57,  0,  3,  0,  1,  0,  3,  4,153,
+  1,144,  0,  5,  0,  8,  5,154,  5, 51,  0,  0,  1, 30,  5,154,  5, 51,  0,  0,  3,208,  0,102,  1,242,  0,  0,  2, 11,  6,  6,
+  3,  8,  4,  2,  2,  4,224,  0,  2,239, 64,  0, 32, 91,  0,  0,  0, 40,  0,  0,  0,  0, 49, 65, 83, 67,  0, 64,  0, 32,255,253,
+  6, 31,254, 20,  0,132,  7,109,  1,227, 32,  0,  1,159,  0,  0,  0,  0,  4, 74,  5,182,  0,  0,  0, 32,  0,  2,  4,205,  0,193,
+  0,  0,  0,  0,  4, 20,  0,  0,  2, 20,  0,  0,  2, 39,  0,147,  3, 55,  0,133,  5, 43,  0, 51,  4,104,  0,123,  6,154,  0,102,
+  5,158,  0,109,  1,207,  0,133,  2,104,  0, 82,  2,104,  0, 61,  4,104,  0, 82,  4,104,  0,102,  2,  0,  0, 63,  2,147,  0, 82,
+  2, 37,  0,147,  2,252,  0, 20,  4,104,  0, 98,  4,104,  0,178,  4,104,  0, 96,  4,104,  0, 82,  4,104,  0, 23,  4,104,  0,131,
+  4,104,  0,113,  4,104,  0, 90,  4,104,  0,106,  4,104,  0,106,  2, 37,  0,147,  2, 37,  0, 63,  4,104,  0,102,  4,104,  0,102,
+  4,104,  0,102,  3,104,  0, 37,  6,238,  0,109,  4,221,  0,  0,  4,248,  0,199,  4,211,  0,125,  5,121,  0,199,  4, 57,  0,199,
+  3,238,  0,199,  5,133,  0,125,  5,156,  0,199,  2,182,  0, 82,  2, 43,255, 72,  4,162,  0,199,  3,238,  0,199,  6,246,  0,199,
+  5,213,  0,199,  5,240,  0,125,  4,156,  0,199,  5,238,  0,125,  4,184,  0,199,  4, 39,  0,104,  4, 39,  0, 20,  5,150,  0,184,
+  4,139,  0,  0,  7, 18,  0, 20,  4, 96,  0,  0,  4, 55,  0,  0,  4, 80,  0, 82,  2,109,  0,164,  2,252,  0, 23,  2,109,  0, 51,
+  4, 66,  0, 41,  3, 74,255,252,  4,158,  1,137,  4, 63,  0, 94,  4,176,  0,174,  3,180,  0,113,  4,176,  0,113,  4, 72,  0,113,
+  2,162,  0, 29,  4, 37,  0, 37,  4,182,  0,174,  2, 18,  0,160,  2, 18,255,188,  3,248,  0,174,  2, 18,  0,174,  7, 43,  0,174,
+  4,182,  0,174,  4,158,  0,113,  4,176,  0,174,  4,176,  0,113,  3, 49,  0,174,  3,156,  0, 90,  2,182,  0, 33,  4,182,  0,164,
+  3,213,  0,  0,  5,248,  0, 20,  4,  0,  0, 35,  3,233,  0, 10,  3,135,  0, 82,  2,213,  0, 61,  4,104,  1,233,  2,213,  0, 51,
+  4,104,  0,102,  2, 20,  0,  0,  2, 39,  0,147,  4,104,  0,188,  4,104,  0, 68,  4,104,  0,123,  4,104,  0, 29,  4,104,  1,233,
+  3,227,  0,121,  4,158,  1, 51,  6,168,  0,100,  2,166,  0, 68,  3,229,  0, 82,  4,104,  0,102,  2,147,  0, 82,  6,168,  0,100,
+  4,  0,255,250,  3,109,  0,123,  4,104,  0,102,  2,166,  0, 49,  2,166,  0, 31,  4,158,  1,137,  4,193,  0,174,  5, 61,  0,113,
+  2, 37,  0,147,  1,164,  0, 35,  2,166,  0, 63,  2,205,  0, 66,  3,229,  0, 84,  5,229,  0, 63,  5,229,  0, 44,  5,229,  0, 31,
+  3,104,  0, 68,  4,221,  0,  0,  4,221,  0,  0,  4,221,  0,  0,  4,221,  0,  0,  4,221,  0,  0,  4,221,  0,  0,  6,209,255,254,
+  4,211,  0,125,  4, 57,  0,199,  4, 57,  0,199,  4, 57,  0,199,  4, 57,  0,199,  2,182,  0, 62,  2,182,  0, 82,  2,182,  0, 17,
+  2,182,  0, 64,  5,121,  0, 47,  5,213,  0,199,  5,240,  0,125,  5,240,  0,125,  5,240,  0,125,  5,240,  0,125,  5,240,  0,125,
+  4,104,  0,141,  5,240,  0,125,  5,150,  0,184,  5,150,  0,184,  5,150,  0,184,  5,150,  0,184,  4, 55,  0,  0,  4,156,  0,199,
+  4,209,  0,174,  4, 63,  0, 94,  4, 63,  0, 94,  4, 63,  0, 94,  4, 63,  0, 94,  4, 63,  0, 94,  4, 63,  0, 94,  6,170,  0, 94,
+  3,180,  0,113,  4, 72,  0,113,  4, 72,  0,113,  4, 72,  0,113,  4, 72,  0,113,  2, 18,255,222,  2, 18,  0,174,  2, 18,255,189,
+  2, 18,255,238,  4,158,  0,111,  4,182,  0,174,  4,158,  0,113,  4,158,  0,113,  4,158,  0,113,  4,158,  0,113,  4,158,  0,113,
+  4,104,  0,102,  4,158,  0,115,  4,182,  0,164,  4,182,  0,164,  4,182,  0,164,  4,182,  0,164,  3,233,  0, 10,  4,176,  0,174,
+  3,233,  0, 10,  4,221,  0,  0,  4, 63,  0, 94,  4,221,  0,  0,  4, 63,  0, 94,  4,221,  0,  0,  4, 63,  0, 94,  4,211,  0,125,
+  3,180,  0,113,  4,211,  0,125,  3,180,  0,113,  4,211,  0,125,  3,180,  0,113,  4,211,  0,125,  3,180,  0,113,  5,121,  0,199,
+  4,176,  0,113,  5,121,  0, 47,  4,176,  0,113,  4, 57,  0,199,  4, 72,  0,113,  4, 57,  0,199,  4, 72,  0,113,  4, 57,  0,199,
+  4, 72,  0,113,  4, 57,  0,199,  4, 72,  0,113,  4, 57,  0,199,  4, 72,  0,113,  5,133,  0,125,  4, 37,  0, 37,  5,133,  0,125,
+  4, 37,  0, 37,  5,133,  0,125,  4, 37,  0, 37,  5,133,  0,125,  4, 37,  0, 37,  5,156,  0,199,  4,182,  0,174,  5,156,  0,  0,
+  4,182,  0, 18,  2,182,255,245,  2, 18,255,163,  2,182,  0, 61,  2, 18,255,235,  2,182,  0, 48,  2, 18,255,222,  2,182,  0, 82,
+  2, 18,  0, 68,  2,182,  0, 82,  2, 18,  0,174,  4,225,  0, 82,  4, 37,  0,160,  2, 43,255, 72,  2, 18,255,188,  4,162,  0,199,
+  3,248,  0,174,  3,248,  0,174,  3,238,  0,199,  2, 18,  0,171,  3,238,  0,199,  2, 18,  0,102,  3,238,  0,199,  2, 18,  0,174,
+  3,238,  0,199,  2,102,  0,174,  3,238,  0, 29,  2, 18,255,246,  5,213,  0,199,  4,182,  0,174,  5,213,  0,199,  4,182,  0,174,
+  5,213,  0,199,  4,182,  0,174,  5, 70,255,255,  5,213,  0,199,  4,182,  0,174,  5,240,  0,125,  4,158,  0,113,  5,240,  0,125,
+  4,158,  0,113,  5,240,  0,125,  4,158,  0,113,  7, 31,  0,125,  7, 72,  0,113,  4,184,  0,199,  3, 49,  0,174,  4,184,  0,199,
+  3, 49,  0, 96,  4,184,  0,199,  3, 49,  0,114,  4, 39,  0,104,  3,156,  0, 90,  4, 39,  0,104,  3,156,  0, 90,  4, 39,  0,104,
+  3,156,  0, 90,  4, 39,  0,104,  3,156,  0, 90,  4, 39,  0, 20,  2,182,  0, 33,  4, 39,  0, 20,  2,182,  0, 33,  4, 39,  0, 20,
+  2,182,  0, 33,  5,150,  0,184,  4,182,  0,164,  5,150,  0,184,  4,182,  0,164,  5,150,  0,184,  4,182,  0,164,  5,150,  0,184,
+  4,182,  0,164,  5,150,  0,184,  4,182,  0,164,  5,150,  0,184,  4,182,  0,164,  7, 18,  0, 20,  5,248,  0, 20,  4, 55,  0,  0,
+  3,233,  0, 10,  4, 55,  0,  0,  4, 80,  0, 82,  3,135,  0, 82,  4, 80,  0, 82,  3,135,  0, 82,  4, 80,  0, 82,  3,135,  0, 82,
+  2, 76,  0,174,  4,104,  0,203,  4,221,  0,  0,  4, 63,  0, 94,  6,209,255,254,  6,170,  0, 94,  5,240,  0,125,  4,158,  0,115,
+  4, 39,  0,104,  3,156,  0, 90,  4,158,  1,  2,  4,158,  1,  2,  4,117,  1, 27,  4,158,  1, 33,  2, 18,  0,160,  4,158,  1,109,
+  1,123,  0, 31,  4,158,  1,  2,  4,158,  0,223,  4,158,  1,248,  4,158,  1, 20,  4,221,255,233,  2, 37,  0,147,  4,201,255,231,
+  6, 23,255,231,  3,178,255,231,  6, 66,255,231,  5, 84,255,231,  6, 74,255,231,  2,158,255,228,  4,221,  0,  0,  4,248,  0,199,
+  3,238,  0,199,  4,139,  0, 37,  4, 57,  0,199,  4, 80,  0, 82,  5,156,  0,199,  5,240,  0,125,  2,182,  0, 82,  4,162,  0,199,
+  4,139,  0,  0,  6,246,  0,199,  5,213,  0,199,  4, 63,  0, 82,  5,240,  0,125,  5,135,  0,199,  4,156,  0,199,  4, 66,  0, 78,
+  4, 39,  0, 20,  4, 55,  0,  0,  6, 35,  0,104,  4, 96,  0,  0,  6, 35,  0,104,  5,240,  0, 78,  2,182,  0, 64,  4, 55,  0,  0,
+  4,176,  0,113,  3,160,  0, 90,  4,182,  0,174,  2,158,  0,164,  4,184,  0,164,  4,176,  0,113,  4,209,  0,174,  3,233,  0, 10,
+  4,158,  0,111,  3,160,  0, 90,  3,164,  0,113,  4,182,  0,174,  4,135,  0,113,  2,158,  0,164,  3,248,  0,174,  4, 23,255,242,
+  4,193,  0,174,  4, 35,  0,  0,  3,164,  0,113,  4,158,  0,113,  5, 10,  0, 25,  4,158,  0,164,  3,164,  0,113,  4,180,  0,113,
+  3,152,  0, 18,  4,184,  0,164,  5,150,  0,113,  4, 49,255,236,  5,236,  0,164,  6,  6,  0,113,  2,158,  0, 21,  4,184,  0,164,
+  4,158,  0,113,  4,184,  0,164,  6,  6,  0,113,  4, 57,  0,199,  5,160,  0, 20,  3,238,  0,199,  4,211,  0,125,  4, 39,  0,104,
+  2,182,  0, 82,  2,182,  0, 64,  2, 43,255, 72,  7, 72,  0,  0,  7,117,  0,199,  5,160,  0, 20,  4,162,  0,199,  4,174,  0, 25,
+  5,135,  0,199,  4,221,  0,  0,  4,156,  0,199,  4,248,  0,199,  3,238,  0,199,  5, 51,  0, 14,  4, 57,  0,199,  6,133,  0,  4,
+  4, 92,  0, 72,  5,213,  0,201,  5,213,  0,201,  4,162,  0,199,  5, 90,  0,  0,  6,246,  0,199,  5,156,  0,199,  5,240,  0,125,
+  5,135,  0,199,  4,156,  0,199,  4,211,  0,125,  4, 39,  0, 20,  4,174,  0, 25,  6, 35,  0,104,  4, 96,  0,  0,  5,154,  0,199,
+  5, 72,  0,166,  7,250,  0,199,  7,250,  0,199,  5, 61,  0, 20,  6,150,  0,199,  4,156,  0,199,  4,193,  0, 59,  8, 29,  0,199,
+  4,184,  0, 25,  4, 63,  0, 94,  4,143,  0,117,  4,137,  0,174,  3, 51,  0,174,  4, 96,  0, 41,  4, 72,  0,113,  5,195,  0,  4,
+  3,174,  0, 68,  4,233,  0,174,  4,233,  0,174,  3,238,  0,174,  4, 94,  0, 16,  5,190,  0,174,  4,233,  0,174,  4,158,  0,113,
+  4,193,  0,174,  4,176,  0,174,  3,180,  0,113,  3,135,  0, 41,  3,233,  0, 10,  5,147,  0,113,  4,  0,  0, 35,  4,209,  0,174,
+  4,172,  0,154,  6,244,  0,174,  7,  4,  0,174,  5,109,  0, 41,  5,254,  0,174,  4,137,  0,174,  3,178,  0, 55,  6,121,  0,174,
+  4, 63,  0, 35,  4, 72,  0,113,  4,182,  0, 18,  3, 51,  0,174,  3,180,  0,113,  3,156,  0, 90,  2, 18,  0,160,  2, 18,255,238,
+  2, 18,255,188,  6,131,  0, 16,  6,229,  0,174,  4,182,  0, 18,  3,238,  0,174,  3,233,  0, 10,  4,193,  0,174,  3,238,  0,199,
+  3, 51,  0,174,  7, 18,  0, 20,  5,248,  0, 20,  7, 18,  0, 20,  5,248,  0, 20,  7, 18,  0, 20,  5,248,  0, 20,  4, 55,  0,  0,
+  3,233,  0, 10,  4,  0,  0, 82,  8,  0,  0, 82,  8,  0,  0, 82,  3, 74,255,252,  1,102,  0, 23,  1,102,  0, 23,  2,  0,  0, 63,
+  1,102,  0, 25,  2,231,  0, 23,  2,231,  0, 23,  3,129,  0, 63,  3,227,  0,123,  3,248,  0,123,  3,  2,  0,150,  6,111,  0,147,
+  9, 90,  0,102,  1,207,  0,133,  3, 55,  0,133,  2, 78,  0, 82,  2, 78,  0, 82,  3,246,  0,147,  1, 10,254,160,  2,248,  0,106,
+  4,104,  0, 96,  4,104,  0, 68,  6,  0,  0,150,  4,104,  0, 63,  6,104,  0,141,  4,  0,  0,119,  7,231,  0,199,  5,254,  0, 37,
+  5,240,  0, 78,  4,244,  0,102,  6, 14,  0, 83,  6, 14,  0, 51,  6, 14,  0, 79,  6, 14,  0,113,  4,166,  0, 98,  4,139,  0, 41,
+  5,238,  0,199,  5, 12,  0, 74,  4,104,  0,102,  4,100,  0, 37,  5,168,  0,119,  3, 25,  0, 16,  4,104,  0,102,  4,104,  0,102,
+  4,104,  0,102,  4,104,  0,102,  4,170,  0,109,  4,180,  0, 29,  4,180,  0, 29,  4,158,  0,207,  2, 18,255,188,  4,  0,  1,135,
+  4,  0,  1,111,  4,  0,  1,125,  2,166,  0, 37,  2,166,  0, 12,  2,166,  0, 59,  2,166,  0, 37,  2,166,  0, 47,  2,166,  0, 49,
+  2,166,  0, 33,  4,  0,  0,  0,  8,  0,  0,  0,  4,  0,  0,  0,  8,  0,  0,  0,  2,171,  0,  0,  2,  0,  0,  0,  1, 85,  0,  0,
+  4,104,  0,  0,  2, 37,  0,  0,  1,154,  0,  0,  0,205,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  8,  0,  0, 84,  8,  0,  0, 84,
+  2, 18,255,188,  1,102,  0, 23,  4,205,  0, 10,  4, 82,  0,  0,  6,160,  0, 18,  6,246,  0,199,  7, 43,  0,174,  4,221,  0,  0,
+  4, 63,  0, 94,  6, 66,254,211,  2,170,  0,115,  3, 51,  0,147,  7, 86,  0, 29,  7, 86,  0, 29,  5,240,  0,125,  4,170,  0,113,
+  5,244,  0,184,  5, 47,  0,164,  0,  0,252,143,  0,  0,253, 72,  0,  0,252, 70,  0,  0,253,  4,  0,  0,253, 49,  4, 57,  0,199,
+  5,213,  0,201,  4, 72,  0,113,  4,233,  0,174,  7,219,  0,125,  6,111,  0,  0,  5, 37,  0, 20,  4,221,  0, 20,  7, 39,  0,199,
+  5,182,  0,174,  5, 47,  0,  0,  4,100,  0, 10,  7, 41,  0,199,  6, 18,  0,174,  5,127,  0, 20,  4,240,  0, 10,  7,139,  0,199,
+  6,162,  0,174,  4, 94,  0, 57,  3,174,  0, 23,  6, 35,  0,104,  5,236,  0,164,  5,240,  0,125,  4,158,  0,113,  4,193,  0,  0,
+  3,221,  0,  0,  4,193,  0,  0,  3,221,  0,  0,  9,100,  0,125,  8, 88,  0,113,  6, 63,  0,125,  5, 25,  0,113,  7,178,  0,125,
+  6, 80,  0,113,  7,219,  0,125,  6,111,  0,  0,  4,211,  0,125,  3,180,  0,113,  4,223,  0,104,  4,117,  0,201,  4,158,  0,244,
+  4,158,  1,225,  4,158,  1,225,  7,233,  0, 41,  7,166,  0, 41,  5,231,  0,201,  4,252,  0,174,  4,156,  0, 47,  4,137,  0, 18,
+  4,156,  0,199,  4,176,  0,174,  3,238,  0, 47,  3, 51,  0, 18,  5,  0,  0,199,  4,  8,  0,174,  6,233,  0,  4,  6, 35,  0,  4,
+  4, 92,  0, 72,  3,174,  0, 68,  5, 10,  0,199,  4, 74,  0,174,  4,162,  0,199,  4, 43,  0,174,  4,162,  0, 47,  3,248,  0, 18,
+  5, 68,  0, 20,  4,209,  0, 41,  5,205,  0,229,  4,250,  0,174,  6, 92,  0,229,  5,172,  0,174,  8, 68,  0,199,  6,184,  0,174,
+  5,236,  0,125,  4,242,  0,113,  4,211,  0,125,  3,180,  0,113,  4, 39,  0, 20,  3,135,  0, 41,  4, 55,  0,  0,  3,213,  0,  0,
+  4, 55,  0,  0,  3,213,  0,  0,  4,211,  0,  0,  4, 61,  0, 35,  6,137,  0, 20,  5,139,  0, 41,  5, 72,  0,166,  4,188,  0,154,
+  5, 72,  0,166,  4,172,  0,154,  5, 72,  0,199,  4,172,  0,174,  6,119,  0, 61,  5, 29,  0, 51,  6,119,  0, 61,  5, 29,  0, 51,
+  2,182,  0, 82,  6,133,  0,  4,  5,195,  0,  4,  5, 74,  0,199,  4, 45,  0,174,  5,106,  0,  0,  4,113,  0, 16,  5,156,  0,229,
+  4,233,  0,174,  5,203,  0,229,  4,252,  0,174,  5, 72,  0,166,  4,172,  0,154,  7,  6,  0,199,  5,209,  0,174,  2,182,  0, 82,
+  4,221,  0,  0,  4, 63,  0, 94,  4,221,  0,  0,  4, 63,  0, 94,  6,209,255,254,  6,170,  0, 94,  4, 57,  0,199,  4, 72,  0,113,
+  5,143,  0,113,  4, 72,  0,102,  5,143,  0,113,  4, 72,  0,102,  6,133,  0,  4,  5,195,  0,  4,  4, 92,  0, 72,  3,174,  0, 68,
+  4, 92,  0, 72,  3,184,  0, 27,  5,213,  0,201,  4,233,  0,174,  5,213,  0,201,  4,233,  0,174,  5,240,  0,125,  4,158,  0,113,
+  5,240,  0,125,  4,158,  0,113,  5,240,  0,125,  4,158,  0,113,  4,193,  0, 59,  3,178,  0, 55,  4,174,  0, 25,  3,233,  0, 10,
+  4,174,  0, 25,  3,233,  0, 10,  4,174,  0, 25,  3,233,  0, 10,  5, 72,  0,166,  4,172,  0,154,  3,238,  0,199,  3, 51,  0,174,
+  6,150,  0,199,  5,254,  0,174,  3,238,  0, 47,  3, 51,  0, 18,  4,195,  0,  0,  4, 47,  0, 35,  4, 96,  0,  0,  4,  0,  0, 35,
+  4,156,  0,137,  4,176,  0,113,  6,244,  0,137,  6,254,  0,113,  6,252,  0, 78,  6, 70,  0, 80,  4,197,  0, 78,  4, 16,  0, 80,
+  7,164,  0,  0,  6,164,  0, 16,  7,229,  0,199,  7, 47,  0,174,  5,195,  0,125,  4,225,  0,113,  5,129,  0, 20,  5, 18,  0, 41,
+  4, 92,  0,111,  3,174,  0, 92,  5, 90,  0,  0,  4, 94,  0, 16,  4,221,  0,  0,  4, 63,  0, 94,  4,221,  0,  0,  4, 63,  0, 94,
+  4,221,  0,  0,  4, 63,  0, 94,  4,221,  0,  0,  4, 63,  0, 18,  4,221,  0,  0,  4, 63,  0, 94,  4,221,  0,  0,  4, 63,  0, 94,
+  4,221,  0,  0,  4, 63,  0, 94,  4,221,  0,  0,  4, 63,  0, 94,  4,221,  0,  0,  4, 63,  0, 94,  4,221,  0,  0,  4, 63,  0, 94,
+  4,221,  0,  0,  4, 63,  0, 94,  4,221,  0,  0,  4, 63,  0, 94,  4, 57,  0,199,  4, 72,  0,113,  4, 57,  0,199,  4, 72,  0,113,
+  4, 57,  0,199,  4, 72,  0,113,  4, 57,  0,199,  4, 72,  0,113,  4, 57,  0, 39,  4, 72,  0, 18,  4, 57,  0,199,  4, 72,  0,113,
+  4, 57,  0,199,  4, 72,  0,113,  4, 57,  0,199,  4, 72,  0,113,  2,182,  0, 82,  2, 18,  0, 98,  2,182,  0, 82,  2, 18,  0,158,
+  5,240,  0,125,  4,158,  0,113,  5,240,  0,125,  4,158,  0,113,  5,240,  0,125,  4,158,  0,113,  5,240,  0,125,  4,158,  0, 51,
+  5,240,  0,125,  4,158,  0,113,  5,240,  0,125,  4,158,  0,113,  5,240,  0,125,  4,158,  0,113,  5,240,  0,125,  4,170,  0,113,
+  5,240,  0,125,  4,170,  0,113,  5,240,  0,125,  4,170,  0,113,  5,240,  0,125,  4,158,  0,113,  5,240,  0,125,  4,170,  0,113,
+  5,150,  0,184,  4,182,  0,164,  5,150,  0,184,  4,182,  0,164,  5,244,  0,184,  5, 47,  0,164,  5,244,  0,184,  5, 47,  0,164,
+  5,244,  0,184,  5, 47,  0,164,  5,244,  0,184,  5, 47,  0,164,  5,244,  0,184,  5, 47,  0,164,  4, 55,  0,  0,  3,233,  0, 10,
+  4, 55,  0,  0,  3,233,  0, 10,  4, 55,  0,  0,  3,233,  0, 10,  4,176,  0,113,  0,  0,251,219,  0,  0,252,106,  0,  0,251,137,
+  0,  0,252,106,  0,  0,252,100,  0,  0,252,115,  0,  0,252,115,  0,  0,252,115,  0,  0,252,100,  1,164,  0, 49,  0, 16,  0, 16,
+  0,  0,  3,130,  1,  1,  1, 26, 40, 24,  1,  1, 10,  1, 43,  1,  1, 10, 11, 22,  1, 20,  5, 11, 11, 11, 11, 11, 11, 11, 11, 11,
+ 11, 20, 20, 11, 11, 11, 28, 11, 38, 34, 20, 11,  1, 18, 11, 21, 25, 21, 21, 20, 28, 25, 34, 19, 30, 22, 27, 27, 21, 23, 16, 16,
+ 38, 18,  1,  5,  1, 32,  1,  1, 17, 11, 28, 11, 21, 42, 25, 46, 12, 12, 10, 12, 24, 46, 21, 11, 11, 18, 42, 11, 46, 25, 11, 26,
+ 22, 18, 25, 24, 25, 11, 26, 40, 11, 11, 11, 11, 24, 21,  1,  4, 20, 39, 11,  1,  4,  1, 16, 11, 17, 17,  1, 18, 11, 20,  1, 17,
+ 10, 39,  1,  1, 10, 28, 38, 38, 38, 38, 38, 38,  1, 20,  1,  1,  1,  1, 25, 25, 25, 25, 11, 25, 34, 34, 34, 34, 34, 11, 34, 21,
+ 21, 21, 21, 38, 19, 22, 17, 17, 17, 17, 17, 17, 22, 28, 21, 21, 21, 21, 12, 12, 12, 12, 21, 46, 21, 21, 21, 21, 21, 11, 21, 46,
+ 46, 46, 46, 22, 11, 22, 38, 17, 38, 17, 38, 17, 20, 28, 20, 28, 20, 28, 20, 28, 11, 11, 11, 11,  1, 21,  1, 21,  1, 21,  1, 21,
+  1, 21, 11, 25, 11, 25, 11, 25, 11, 25, 21, 46, 21, 46, 25, 12, 25, 12, 25, 12, 25, 12, 25, 12, 21, 23, 21, 12, 21, 10, 10, 20,
+ 12, 20, 12, 20, 12, 20, 36, 20, 12, 25, 46, 25, 46, 25, 46, 24, 25, 46, 34, 21, 34, 21, 34, 21, 42, 40, 22, 18, 22, 18, 22, 18,
+ 27, 42, 27, 42, 27, 42, 27, 42, 27, 11, 27, 11, 27, 11, 21, 46, 21, 46, 21, 46, 21, 46, 21, 46, 21, 46, 16, 11, 38, 22, 38, 18,
+ 18, 18, 18, 18, 18, 48, 11, 38, 17,  1, 22, 34, 21, 27, 42,  1,  1, 36,  1,  1,  1,  1,  1,  1,  1,  1, 38, 20, 21, 45, 12, 21,
+ 13, 21, 22, 38, 34, 25, 23,  1, 18, 21, 34, 25, 21, 25, 28, 25, 17, 34, 21, 19, 32, 27, 38, 25, 16, 25, 34, 25, 38, 11, 22, 46,
+ 22, 18, 11, 12, 22, 21, 22, 22, 46, 23, 22, 10, 45, 18, 24, 24, 21, 24, 19, 24, 24,  1, 18, 25, 19, 19, 24, 22, 18, 21, 18, 24,
+  1, 14, 25, 20, 27, 25, 25, 21, 40, 25, 14, 21, 48, 21, 38, 19, 34, 25, 31,  1, 24, 18, 25, 25, 21, 16, 28, 21, 34, 21, 19, 20,
+ 27, 48, 25, 16, 21, 20, 25, 25, 23, 16, 25, 22, 36, 22, 17, 20, 25, 20, 22, 21, 25, 26, 25, 25, 10, 22, 19, 25, 21, 18, 11, 28,
+ 25, 22, 25, 26, 22, 18, 25, 25, 23, 24, 25, 17, 25, 17, 21, 46, 20, 28, 42, 12, 12, 12, 24, 24, 46, 10, 22, 18, 23,  1, 16, 11,
+ 16, 11, 16, 11, 38, 22,  1,  1,  1,  1, 21, 21, 25, 21, 21, 21, 25, 25, 25, 25, 25, 20, 43, 24, 25, 25, 12,  1, 25, 11, 11, 17,
+ 11,  1,  1, 42, 25, 34,  1, 12, 12, 12, 12, 38, 23, 30, 43,  1,  1, 23, 23, 11, 11, 11, 11, 25, 20, 20, 25, 12,  1,  1,  1, 17,
+ 17, 17, 17, 17, 17, 17,  1,  1,  1,  1,  1,  1, 46,  1,  1,  1,  1,  1,  1,  1,  1, 12, 21, 17, 22, 24, 28, 24, 38, 17,  1,  1,
+  1, 20, 20, 34, 21, 25, 28,  1,  1,  1,  1,  1,  1, 25, 21, 25, 29, 23, 32, 38,  1,  1, 28, 24, 24, 22, 25, 25, 23, 20,  1, 26,
+ 25, 19, 34, 21, 24, 22, 24, 22, 24,  1, 20, 21, 25,  1, 29, 24, 20, 28, 13, 36,  1,  1,  1, 46,  1, 22, 25,  1, 23, 19, 11, 18,
+ 20, 21, 25, 25, 25, 18, 26, 21,  1, 21, 25, 21, 10, 11, 24, 24, 25, 25, 25, 46, 25, 18, 19, 20, 28, 27, 25, 38, 25, 38, 25, 25,
+ 25, 42, 21, 19, 22, 20, 18, 25, 24, 10, 22, 10, 22, 25, 24, 25, 32, 24, 24, 20, 21, 25, 24, 25, 20, 18, 21, 21, 25, 38, 17, 38,
+ 17,  1, 22,  1, 21, 21, 21, 21, 21, 24, 25, 18, 26, 18, 17, 25, 25, 25, 25, 34, 21, 34, 21, 34, 21, 22, 17, 48, 22, 48, 22, 48,
+ 22, 20, 18, 25, 20, 16, 24, 18, 20, 22,  1, 16, 26, 19, 11, 23, 21, 24, 24, 25, 22, 23, 24, 39, 25, 21, 25, 19, 23, 18, 26, 16,
+ 22, 38, 17, 38, 17, 38, 17, 38, 17, 38, 17, 38, 17, 38, 17, 38, 17, 38, 17, 38, 17, 38, 17, 38, 17,  1, 21,  1, 21,  1, 21,  1,
+ 21,  1, 21,  1, 21,  1, 21,  1, 21, 25, 12, 25, 12, 34, 21, 34, 21, 34, 21, 34, 21, 34, 21, 34, 21, 34, 21, 34, 21, 34, 21, 34,
+ 21, 34, 21, 34, 21, 21, 46, 21, 46, 25, 28, 25, 28, 25, 28, 25, 28, 25, 28, 38, 22, 38, 22, 38, 22, 11,  1,  1,  1,  1,  1,  1,
+  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0, 19,  0,  0,  3,132,  6,  7,  4,  0,  3,  2,  2,  2,  4,  3,  5,  4,  1,  2,  2,  3,
+  3,  2,  2,  2,  2,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  2,  2,  3,  3,  3,  3,  5,  4,  4,  4,  4,  3,  3,  4,  4,  2,  2,
+  3,  3,  5,  4,  4,  4,  4,  4,  3,  3,  4,  4,  5,  3,  3,  3,  2,  2,  2,  3,  2,  3,  4,  4,  3,  4,  3,  2,  3,  4,  2,  2,
+  3,  2,  5,  4,  4,  4,  4,  2,  3,  2,  4,  3,  4,  4,  3,  3,  2,  3,  2,  3,  2,  2,  3,  3,  3,  3,  3,  3,  3,  5,  2,  3,
+  3,  2,  5,  3,  3,  3,  3,  3,  3,  4,  4,  2,  1,  3,  2,  3,  4,  4,  4,  3,  4,  4,  4,  4,  4,  4,  5,  4,  3,  3,  3,  3,
+  2,  2,  2,  2,  4,  4,  4,  4,  4,  4,  4,  3,  4,  4,  4,  4,  4,  3,  3,  4,  4,  4,  4,  4,  4,  4,  5,  3,  3,  3,  3,  3,
+  2,  2,  2,  2,  4,  4,  4,  4,  4,  4,  4,  3,  4,  4,  4,  4,  4,  3,  4,  3,  4,  4,  4,  4,  4,  4,  4,  3,  4,  3,  4,  3,
+  4,  3,  4,  4,  4,  4,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  4,  3,  4,  3,  4,  3,  4,  3,  4,  4,  4,  4,  2,  2,  2,  2,
+  2,  2,  2,  2,  2,  2,  4,  4,  2,  2,  3,  3,  3,  3,  2,  3,  2,  3,  2,  3,  2,  3,  2,  4,  4,  4,  4,  4,  4,  5,  4,  4,
+  4,  4,  4,  4,  4,  4,  5,  5,  4,  2,  4,  2,  4,  2,  3,  3,  3,  3,  3,  3,  3,  3,  3,  2,  3,  2,  3,  2,  4,  4,  4,  4,
+  4,  4,  4,  4,  4,  4,  4,  4,  5,  4,  3,  3,  3,  3,  3,  3,  3,  3,  3,  2,  3,  4,  3,  5,  5,  4,  4,  3,  3,  3,  3,  3,
+  3,  2,  3,  1,  3,  3,  3,  3,  4,  2,  4,  5,  3,  5,  4,  5,  2,  4,  4,  3,  4,  3,  3,  4,  4,  2,  3,  4,  5,  4,  3,  4,
+  4,  4,  4,  3,  3,  6,  3,  6,  4,  2,  3,  4,  3,  4,  2,  4,  4,  4,  3,  4,  3,  3,  4,  4,  2,  3,  4,  4,  4,  3,  4,  4,
+  4,  3,  4,  3,  4,  5,  4,  5,  6,  2,  4,  4,  4,  6,  3,  5,  3,  4,  3,  2,  2,  2,  6,  6,  5,  3,  4,  4,  4,  4,  4,  3,
+  4,  3,  5,  3,  4,  4,  3,  4,  5,  4,  4,  4,  4,  4,  3,  4,  6,  3,  4,  4,  6,  6,  5,  6,  4,  4,  6,  4,  4,  4,  4,  2,
+  3,  3,  4,  3,  4,  4,  3,  4,  5,  4,  4,  4,  4,  3,  3,  3,  5,  4,  4,  4,  6,  6,  4,  5,  3,  3,  6,  4,  3,  4,  2,  3,
+  3,  2,  2,  2,  5,  5,  4,  3,  3,  4,  3,  2,  5,  4,  5,  4,  5,  4,  3,  3,  3,  6,  6,  2,  1,  1,  2,  1,  2,  2,  3,  3,
+  3,  2,  6,  7,  1,  2,  2,  2,  3,  1,  2,  3,  3,  5,  3,  5,  3,  6,  5,  4,  4,  5,  5,  5,  5,  4,  4,  4,  4,  3,  3,  4,
+  2,  3,  3,  3,  3,  4,  4,  4,  3,  2,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  6,  3,  6,  2,  2,  1,  3,  2,  1,  1,  0,
+  0,  6,  6,  2,  1,  4,  3,  6,  5,  5,  4,  4,  5,  2,  2,  6,  6,  4,  4,  4,  4,  0,  0,  0,  0,  0,  3,  4,  3,  4,  6,  5,
+  4,  4,  5,  4,  4,  3,  5,  5,  4,  4,  6,  5,  3,  3,  6,  5,  4,  4,  4,  3,  4,  3,  7,  6,  5,  4,  6,  5,  6,  5,  4,  3,
+  4,  3,  3,  3,  3,  6,  6,  4,  4,  3,  3,  4,  4,  3,  2,  4,  3,  5,  5,  3,  3,  4,  3,  3,  3,  3,  3,  4,  4,  4,  4,  4,
+  4,  6,  5,  4,  4,  4,  3,  3,  3,  3,  3,  3,  3,  4,  3,  5,  4,  4,  4,  4,  4,  4,  4,  5,  4,  5,  4,  2,  5,  4,  4,  3,
+  4,  3,  4,  4,  4,  4,  4,  4,  5,  5,  2,  4,  4,  4,  4,  5,  5,  3,  3,  4,  3,  4,  3,  5,  4,  3,  3,  3,  3,  4,  4,  4,
+  4,  4,  4,  4,  4,  4,  4,  4,  3,  4,  3,  4,  3,  4,  3,  4,  4,  3,  2,  6,  5,  3,  2,  4,  3,  3,  4,  3,  4,  6,  6,  5,
+  5,  4,  3,  6,  5,  6,  6,  4,  4,  4,  5,  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,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  2,  2,  2,  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,  4,  4,  4,
+  4,  3,  3,  3,  3,  3,  3,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  7,  9,  4,  0,  4,  2,  2,  3,  5,  4,  6,  5,
+  2,  2,  2,  4,  4,  2,  2,  2,  3,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  2,  2,  4,  4,  4,  3,  6,  5,  4,  4,  5,  4,  4,
+  5,  5,  4,  2,  4,  3,  6,  5,  5,  4,  5,  4,  4,  4,  5,  5,  6,  4,  4,  4,  2,  3,  2,  4,  3,  4,  4,  4,  3,  4,  4,  3,
+  4,  4,  2,  2,  4,  2,  6,  4,  4,  4,  4,  3,  3,  2,  4,  4,  6,  4,  4,  3,  2,  4,  2,  4,  2,  2,  4,  4,  4,  4,  4,  3,
+  4,  6,  2,  3,  4,  2,  6,  4,  3,  4,  3,  3,  4,  4,  5,  2,  1,  3,  2,  3,  5,  5,  5,  3,  5,  5,  5,  5,  5,  5,  6,  4,
+  4,  4,  4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  5,  5,  5,  4,  5,  5,  5,  5,  5,  4,  4,  4,  4,  4,  4,  4,  4,  4,  6,  3,
+  4,  4,  4,  4,  2,  2,  2,  2,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  5,  4,  5,  4,  5,  4,  4,  3,
+  4,  3,  4,  3,  4,  3,  5,  4,  5,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  5,  4,  5,  4,  5,  4,  5,  4,  5,  4,  5,  4,
+  4,  2,  4,  2,  4,  2,  4,  2,  4,  2,  5,  4,  2,  2,  4,  4,  4,  3,  2,  3,  2,  3,  2,  3,  2,  3,  2,  5,  4,  5,  4,  5,
+  4,  5,  5,  4,  5,  4,  5,  4,  5,  4,  6,  6,  4,  3,  4,  3,  4,  3,  4,  3,  4,  3,  4,  3,  4,  3,  4,  2,  4,  2,  4,  2,
+  5,  4,  5,  4,  5,  4,  5,  4,  5,  4,  5,  4,  6,  6,  4,  4,  4,  4,  3,  4,  3,  4,  3,  2,  4,  5,  4,  6,  6,  5,  4,  4,
+  3,  4,  4,  4,  4,  2,  4,  1,  4,  4,  4,  4,  5,  2,  4,  5,  5,  5,  5,  6,  2,  5,  4,  3,  5,  4,  4,  5,  5,  4,  4,  5,
+  6,  5,  4,  5,  5,  4,  4,  4,  4,  6,  4,  6,  5,  4,  4,  4,  3,  4,  2,  4,  4,  4,  4,  4,  3,  3,  4,  4,  2,  4,  4,  4,
+  4,  3,  4,  4,  4,  3,  4,  3,  4,  6,  4,  6,  6,  2,  4,  4,  4,  6,  4,  5,  3,  4,  4,  4,  4,  2,  7,  7,  5,  4,  4,  5,
+  5,  4,  4,  3,  5,  4,  6,  4,  5,  5,  4,  5,  6,  5,  5,  5,  4,  4,  4,  4,  6,  4,  5,  5,  8,  8,  5,  6,  4,  4,  7,  4,
+  4,  4,  4,  3,  4,  4,  6,  3,  4,  4,  3,  4,  5,  4,  4,  4,  4,  3,  3,  4,  6,  4,  4,  4,  6,  6,  5,  6,  4,  3,  6,  4,
+  4,  4,  3,  3,  3,  2,  2,  2,  6,  6,  4,  3,  4,  4,  3,  3,  6,  6,  6,  6,  6,  6,  4,  4,  4,  7,  7,  3,  1,  1,  2,  1,
+  3,  3,  3,  3,  3,  3,  6,  8,  2,  3,  2,  2,  3,  1,  3,  4,  4,  5,  4,  6,  4,  7,  5,  5,  4,  5,  5,  5,  5,  4,  5,  5,
+  4,  4,  4,  5,  3,  4,  4,  4,  4,  4,  4,  4,  4,  2,  4,  4,  4,  3,  3,  3,  3,  3,  3,  3,  4,  7,  4,  7,  2,  2,  1,  4,
+  2,  1,  1,  0,  0,  7,  7,  2,  1,  4,  4,  6,  6,  6,  5,  4,  5,  2,  3,  6,  6,  5,  4,  5,  4,  0,  0,  0,  0,  0,  4,  5,
+  4,  4,  6,  6,  5,  4,  6,  5,  5,  4,  6,  5,  6,  4,  7,  5,  4,  4,  6,  6,  5,  4,  5,  4,  5,  4,  9,  7,  5,  4,  6,  6,
+  6,  6,  4,  3,  4,  4,  4,  4,  4,  7,  7,  5,  4,  4,  4,  4,  4,  4,  3,  4,  4,  6,  6,  4,  3,  4,  4,  4,  3,  4,  3,  5,
+  4,  5,  4,  5,  4,  7,  6,  6,  6,  4,  3,  4,  3,  4,  4,  4,  4,  4,  4,  7,  6,  6,  4,  5,  4,  5,  4,  6,  5,  6,  5,  4,
+  6,  6,  5,  4,  5,  4,  5,  4,  5,  4,  5,  4,  6,  5,  4,  5,  4,  5,  4,  6,  6,  4,  4,  5,  4,  5,  4,  6,  6,  4,  3,  4,
+  4,  5,  4,  5,  4,  5,  4,  5,  4,  5,  4,  4,  3,  4,  4,  4,  4,  4,  4,  5,  4,  3,  3,  6,  6,  4,  3,  4,  4,  4,  4,  4,
+  4,  6,  6,  6,  5,  4,  4,  7,  6,  7,  6,  5,  4,  5,  5,  4,  3,  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,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  2,  4,  2,  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,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  8, 10,  5,  0,  4,  2,  2,  3,
+  5,  4,  7,  6,  2,  2,  2,  4,  4,  2,  3,  2,  3,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  2,  2,  4,  4,  4,  4,  7,  6,  5,
+  5,  5,  4,  4,  6,  6,  4,  2,  5,  4,  8,  6,  6,  5,  6,  5,  4,  4,  6,  6,  8,  5,  4,  5,  2,  3,  2,  4,  3,  5,  4,  5,
+  4,  5,  4,  3,  4,  5,  2,  2,  4,  2,  8,  5,  5,  5,  5,  3,  4,  3,  5,  4,  6,  4,  4,  4,  3,  4,  3,  4,  2,  2,  4,  4,
+  4,  4,  4,  4,  5,  7,  3,  4,  4,  3,  7,  4,  3,  4,  4,  4,  5,  5,  5,  2,  2,  4,  3,  4,  6,  6,  6,  4,  6,  6,  6,  6,
+  6,  6,  7,  5,  4,  4,  4,  4,  4,  4,  4,  4,  5,  6,  6,  6,  6,  6,  6,  4,  6,  6,  6,  6,  6,  4,  5,  5,  4,  4,  4,  4,
+  4,  4,  7,  4,  4,  4,  4,  4,  2,  2,  2,  2,  5,  5,  5,  5,  5,  5,  5,  4,  5,  5,  5,  5,  5,  4,  5,  4,  6,  4,  6,  4,
+  6,  4,  5,  4,  5,  4,  5,  4,  5,  4,  5,  5,  5,  5,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  6,  4,  6,  4,  6,  4,  6,  4,
+  6,  5,  6,  5,  4,  2,  4,  2,  4,  2,  4,  2,  4,  2,  5,  4,  2,  2,  5,  4,  4,  4,  2,  4,  2,  4,  2,  4,  2,  4,  2,  6,
+  5,  6,  5,  6,  5,  6,  6,  5,  6,  5,  6,  5,  6,  5,  7,  7,  5,  3,  5,  3,  5,  3,  4,  4,  4,  4,  4,  4,  4,  4,  4,  3,
+  4,  3,  4,  3,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  8,  6,  4,  4,  4,  5,  4,  5,  4,  5,  4,  2,  4,  6,  4,  7,
+  7,  6,  5,  4,  4,  5,  5,  4,  5,  2,  5,  1,  5,  5,  5,  5,  6,  2,  5,  6,  5,  6,  5,  6,  2,  6,  5,  4,  6,  4,  5,  6,
+  6,  4,  5,  6,  8,  6,  4,  6,  6,  5,  5,  4,  4,  6,  5,  6,  6,  4,  4,  5,  4,  5,  2,  5,  5,  5,  4,  5,  4,  4,  5,  5,
+  2,  4,  4,  5,  4,  4,  5,  5,  5,  4,  5,  4,  5,  6,  4,  6,  6,  2,  5,  5,  5,  6,  4,  6,  4,  5,  4,  4,  4,  2,  8,  8,
+  6,  5,  5,  6,  6,  5,  5,  4,  6,  4,  8,  4,  6,  6,  5,  6,  8,  6,  6,  6,  5,  5,  4,  5,  6,  5,  6,  5,  8,  8,  6,  7,
+  5,  5,  8,  5,  4,  5,  5,  3,  4,  4,  6,  4,  5,  5,  4,  5,  6,  5,  5,  5,  5,  4,  4,  4,  6,  4,  5,  5,  8,  8,  5,  6,
+  4,  4,  7,  4,  4,  5,  3,  4,  4,  2,  2,  2,  7,  7,  5,  4,  4,  5,  4,  3,  8,  6,  8,  6,  8,  6,  4,  4,  4,  8,  8,  3,
+  1,  1,  2,  1,  3,  3,  4,  4,  4,  3,  6,  9,  2,  3,  2,  2,  4,  1,  3,  4,  4,  6,  4,  6,  4,  8,  6,  6,  5,  6,  6,  6,
+  6,  5,  6,  6,  5,  4,  4,  6,  3,  4,  4,  4,  4,  5,  5,  5,  5,  2,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  8,  4,  8,
+  3,  2,  1,  4,  2,  2,  1,  0,  0,  8,  8,  2,  1,  5,  4,  7,  8,  8,  6,  4,  6,  3,  3,  7,  7,  6,  5,  6,  5,  0,  0,  0,
+  0,  0,  4,  6,  4,  5,  8,  6,  5,  5,  7,  6,  6,  4,  7,  5,  6,  6,  8,  7,  4,  4,  6,  6,  6,  5,  6,  4,  6,  4, 10,  8,
+  6,  5,  8,  6,  8,  6,  5,  4,  5,  4,  5,  5,  5,  8,  8,  6,  5,  5,  5,  5,  5,  4,  3,  5,  4,  8,  6,  4,  4,  5,  4,  5,
+  4,  5,  4,  5,  5,  6,  5,  6,  5,  8,  6,  7,  6,  5,  4,  4,  4,  4,  4,  4,  4,  5,  4,  7,  7,  6,  5,  5,  5,  5,  5,  7,
+  5,  7,  5,  4,  8,  6,  5,  4,  6,  5,  6,  5,  6,  5,  5,  5,  8,  6,  4,  6,  4,  6,  4,  7,  7,  4,  4,  6,  4,  6,  4,  8,
+  6,  4,  4,  4,  4,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  5,  4,  5,  4,  5,  4,  5,  4,  5,  5,  4,  3,  7,  6,  4,  3,  5,
+  4,  5,  4,  5,  5,  7,  8,  6,  6,  4,  4,  8,  7,  9,  7,  6,  5,  5,  5,  4,  4,  6,  5,  6,  4,  6,  4,  6,  4,  6,  4,  6,
+  4,  6,  4,  6,  4,  6,  4,  6,  4,  6,  4,  6,  4,  6,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
+  2,  4,  2,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,
+  5,  6,  5,  6,  5,  6,  5,  6,  5,  4,  4,  4,  4,  4,  4,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2,  2,  9, 12,  5,  0,
+  5,  2,  2,  4,  6,  5,  8,  6,  2,  3,  3,  6,  5,  2,  3,  2,  3,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  2,  2,  5,  5,  5,
+  4,  8,  6,  5,  5,  6,  5,  5,  6,  6,  4,  3,  5,  4,  8,  6,  7,  5,  7,  5,  5,  4,  6,  6,  8,  6,  6,  5,  3,  3,  3,  5,
+  4,  5,  5,  5,  4,  5,  5,  4,  5,  5,  2,  2,  5,  2,  8,  5,  5,  5,  5,  4,  4,  4,  5,  5,  6,  5,  5,  4,  3,  5,  3,  5,
+  2,  2,  5,  5,  5,  5,  5,  4,  5,  7,  4,  5,  5,  3,  7,  5,  4,  5,  4,  4,  5,  5,  6,  2,  2,  4,  4,  5,  7,  7,  8,  4,
+  6,  6,  6,  6,  6,  6,  8,  5,  5,  5,  5,  5,  4,  4,  4,  4,  6,  6,  7,  7,  7,  7,  7,  5,  7,  6,  6,  6,  6,  6,  5,  5,
+  5,  5,  5,  5,  5,  5,  8,  4,  5,  5,  5,  5,  2,  2,  2,  2,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
+  6,  5,  6,  5,  6,  5,  5,  4,  5,  4,  5,  4,  5,  4,  6,  5,  6,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  6,  5,  6,  5,
+  6,  5,  6,  5,  6,  5,  6,  5,  4,  2,  4,  2,  4,  2,  4,  2,  4,  2,  6,  4,  3,  2,  5,  5,  5,  4,  2,  4,  2,  4,  2,  4,
+  3,  4,  2,  6,  5,  6,  5,  6,  5,  6,  6,  5,  7,  5,  7,  5,  7,  5,  9,  8,  5,  4,  5,  4,  5,  4,  5,  4,  5,  4,  5,  4,
+  5,  4,  4,  4,  4,  4,  4,  4,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  8,  6,  6,  5,  6,  5,  4,  5,  4,  5,  4,  2,
+  5,  6,  5,  8,  8,  7,  5,  5,  4,  5,  5,  5,  5,  2,  5,  2,  5,  5,  5,  5,  6,  2,  6,  7,  5,  8,  7,  8,  2,  6,  5,  5,
+  6,  5,  5,  6,  7,  4,  5,  6,  8,  6,  5,  7,  6,  5,  5,  4,  6,  6,  6,  6,  7,  4,  6,  5,  4,  5,  2,  5,  5,  5,  5,  5,
+  4,  4,  5,  5,  2,  5,  5,  5,  5,  4,  5,  6,  5,  4,  5,  4,  5,  6,  6,  6,  6,  2,  5,  5,  5,  6,  5,  6,  5,  5,  5,  4,
+  4,  3,  9,  9,  6,  5,  6,  6,  6,  5,  5,  5,  6,  5,  8,  5,  6,  6,  5,  7,  8,  6,  7,  6,  5,  5,  4,  6,  6,  6,  6,  6,
+  8,  8,  7,  7,  5,  5,  9,  5,  5,  5,  5,  4,  5,  5,  6,  4,  5,  5,  5,  5,  6,  5,  5,  5,  5,  4,  4,  5,  6,  5,  5,  5,
+  8,  8,  6,  7,  5,  4,  7,  5,  5,  5,  4,  4,  4,  2,  2,  2,  8,  8,  5,  5,  5,  5,  5,  4,  8,  6,  8,  6,  8,  6,  6,  5,
+  5,  9,  9,  4,  2,  2,  2,  2,  4,  4,  4,  4,  4,  3,  6, 11,  2,  4,  3,  3,  4,  1,  4,  5,  5,  8,  5,  7,  5,  9,  8,  7,
+  6,  8,  8,  8,  8,  5,  6,  6,  6,  5,  5,  7,  3,  5,  5,  5,  5,  6,  6,  6,  4,  2,  5,  5,  5,  4,  4,  4,  4,  4,  4,  4,
+  5,  9,  5,  9,  3,  2,  2,  5,  2,  2,  1,  0,  0,  9,  9,  2,  2,  6,  6,  6,  8,  8,  6,  5,  7,  3,  4,  9,  9,  7,  5,  6,
+  5,  0,  0,  0,  0,  0,  5,  6,  5,  5,  8,  7,  6,  5,  8,  6,  6,  6,  8,  7,  6,  6,  8,  7,  5,  4,  6,  6,  7,  5,  6,  5,
+  6,  5, 12,  9,  7,  5,  8,  7,  8,  7,  5,  4,  5,  5,  5,  5,  5,  9,  9,  6,  5,  5,  5,  5,  5,  5,  4,  5,  5,  8,  6,  5,
+  4,  6,  5,  5,  5,  5,  5,  6,  6,  6,  5,  6,  5,  9,  8,  7,  6,  5,  4,  4,  4,  6,  4,  6,  4,  6,  5,  8,  7,  7,  6,  6,
+  5,  6,  5,  8,  6,  8,  6,  4,  8,  6,  6,  5,  7,  5,  6,  5,  6,  5,  6,  5,  8,  6,  4,  6,  5,  6,  5,  8,  8,  5,  5,  7,
+  5,  7,  5,  8,  6,  5,  4,  5,  4,  6,  5,  6,  5,  7,  5,  7,  5,  7,  5,  5,  4,  6,  5,  6,  5,  6,  5,  6,  5,  5,  4,  7,
+  7,  5,  4,  5,  5,  6,  5,  5,  5,  8,  8,  8,  7,  5,  5, 10,  7,  9,  8,  6,  5,  6,  5,  5,  4,  7,  5,  6,  5,  6,  5,  6,
+  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
+  5,  5,  5,  4,  2,  4,  2,  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,
+  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2,  2,
+ 10, 12,  6,  0,  5,  3,  2,  4,  6,  6,  8,  7,  2,  3,  3,  6,  5,  2,  3,  2,  4,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  2,
+  2,  5,  5,  5,  4,  8,  6,  6,  6,  6,  5,  5,  6,  6,  4,  3,  5,  4,  8,  6,  7,  5,  7,  5,  5,  4,  6,  6,  8,  6,  6,  5,
+  3,  4,  3,  5,  4,  6,  5,  5,  4,  5,  5,  4,  5,  5,  2,  2,  5,  2,  8,  5,  5,  5,  5,  4,  4,  4,  5,  5,  6,  5,  5,  4,
+  4,  5,  4,  5,  3,  2,  5,  5,  5,  5,  5,  5,  6,  8,  4,  5,  5,  3,  8,  5,  4,  5,  4,  4,  6,  5,  6,  2,  2,  4,  4,  5,
+  7,  7,  7,  4,  6,  6,  6,  6,  6,  6,  9,  6,  5,  5,  5,  5,  4,  4,  4,  4,  6,  6,  7,  7,  7,  7,  7,  5,  7,  6,  6,  6,
+  6,  6,  5,  5,  5,  5,  5,  5,  5,  5,  8,  4,  5,  5,  5,  5,  2,  2,  2,  2,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
+  5,  5,  5,  5,  6,  5,  6,  5,  6,  5,  6,  4,  6,  4,  6,  4,  6,  4,  6,  5,  6,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
+  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  4,  2,  4,  2,  4,  2,  4,  2,  4,  2,  6,  5,  3,  2,  5,  5,  5,  4,  2,  4,
+  2,  4,  2,  4,  4,  4,  2,  6,  5,  6,  5,  6,  5,  7,  6,  5,  7,  5,  7,  5,  7,  5,  9,  8,  5,  4,  5,  4,  5,  4,  5,  4,
+  5,  4,  5,  4,  5,  4,  4,  4,  4,  4,  4,  4,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  8,  6,  6,  5,  6,  5,  4,  5,
+  4,  5,  4,  2,  5,  6,  5,  9,  8,  7,  5,  5,  4,  6,  6,  6,  6,  3,  6,  2,  6,  6,  6,  6,  6,  2,  6,  7,  5,  8,  7,  8,
+  2,  6,  6,  5,  6,  5,  5,  6,  7,  4,  5,  6,  8,  6,  5,  7,  6,  5,  5,  4,  6,  8,  6,  8,  7,  4,  6,  5,  4,  5,  2,  5,
+  5,  5,  5,  5,  4,  4,  5,  5,  2,  5,  5,  5,  5,  4,  5,  6,  5,  4,  5,  4,  5,  6,  6,  6,  6,  2,  5,  5,  5,  6,  5,  7,
+  5,  6,  5,  4,  4,  3,  9,  9,  7,  5,  6,  6,  6,  6,  6,  5,  6,  5,  8,  5,  6,  6,  5,  7,  8,  6,  7,  6,  5,  6,  4,  6,
+  8,  6,  6,  6, 10, 10,  7,  8,  6,  6, 10,  5,  5,  5,  5,  4,  5,  5,  6,  4,  5,  5,  5,  5,  6,  5,  5,  5,  5,  4,  4,  5,
+  6,  5,  5,  5,  8,  8,  7,  7,  5,  4,  8,  5,  5,  5,  4,  4,  4,  2,  2,  2,  8,  8,  5,  5,  5,  5,  5,  4,  8,  6,  8,  6,
+  8,  6,  6,  5,  5, 10, 10,  4,  2,  2,  2,  2,  4,  4,  4,  4,  4,  3,  9, 12,  2,  4,  3,  3,  4,  1,  4,  5,  5,  8,  5,  8,
+  5,  9,  7,  7,  6,  8,  8,  8,  8,  5,  6,  7,  6,  6,  5,  7,  3,  5,  5,  5,  5,  6,  6,  6,  6,  2,  5,  5,  5,  4,  4,  4,
+  4,  4,  4,  4,  5, 10,  5, 10,  3,  3,  2,  6,  3,  2,  1,  0,  0, 10, 10,  2,  2,  6,  6,  6,  8,  8,  6,  5,  8,  3,  4,  9,
+  9,  7,  5,  6,  5,  0,  0,  0,  0,  0,  5,  6,  5,  5, 10,  7,  6,  6,  9,  7,  6,  6,  9,  8,  8,  6, 10,  7,  5,  4,  8,  6,
+  7,  5,  6,  5,  6,  5, 12, 10,  7,  5, 10,  8, 10,  7,  6,  4,  6,  6,  6,  6,  6, 10, 10,  6,  5,  6,  6,  5,  5,  5,  4,  6,
+  5,  8,  6,  5,  4,  6,  5,  5,  5,  5,  5,  6,  6,  6,  5,  7,  6, 10,  8,  7,  6,  6,  4,  4,  4,  6,  4,  6,  4,  6,  5,  8,
+  7,  7,  6,  6,  5,  6,  5,  8,  6,  8,  6,  4,  8,  6,  6,  5,  7,  5,  6,  5,  6,  5,  6,  5,  8,  6,  4,  6,  5,  6,  5,  9,
+  8,  5,  5,  7,  5,  7,  5,  8,  6,  5,  4,  5,  4,  6,  5,  6,  5,  7,  5,  7,  5,  7,  5,  6,  4,  6,  5,  6,  5,  6,  5,  6,
+  5,  5,  4,  8,  7,  5,  4,  6,  5,  6,  5,  5,  5,  8,  8,  8,  7,  5,  5, 10,  8,  9,  8,  7,  5,  7,  5,  5,  4,  7,  5,  6,
+  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
+  5,  5,  5,  5,  5,  5,  5,  4,  2,  4,  2,  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,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5,  5,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  2,  2,  2, 11, 14,  7,  0,  6,  3,  3,  5,  7,  6,  9,  8,  3,  3,  3,  6,  6,  3,  4,  3,  4,  6,  6,  6,  6,  6,  6,  6,
+  6,  6,  6,  3,  3,  6,  6,  6,  5, 10,  7,  7,  7,  8,  6,  5,  8,  8,  3,  3,  7,  5, 10,  8,  9,  6,  9,  7,  6,  5,  8,  7,
+  9,  6,  7,  7,  3,  4,  3,  6,  5,  6,  6,  6,  5,  6,  6,  4,  6,  6,  2,  2,  5,  2, 10,  6,  6,  6,  6,  4,  5,  4,  6,  6,
+  8,  6,  6,  5,  4,  5,  4,  6,  3,  3,  6,  6,  6,  6,  5,  5,  6,  9,  4,  5,  6,  4,  9,  6,  5,  6,  4,  4,  6,  6,  7,  3,
+  2,  4,  4,  5,  8,  8,  8,  5,  7,  7,  7,  7,  7,  7,  9,  7,  6,  6,  6,  6,  3,  3,  3,  3,  8,  8,  9,  9,  9,  9,  9,  6,
+  9,  8,  8,  8,  8,  7,  6,  6,  6,  6,  6,  6,  6,  6, 10,  5,  6,  6,  6,  6,  2,  2,  2,  2,  6,  6,  6,  6,  6,  6,  6,  6,
+  6,  6,  6,  6,  6,  6,  6,  6,  7,  6,  7,  6,  7,  6,  7,  5,  7,  5,  7,  5,  7,  5,  8,  6,  8,  6,  6,  6,  6,  6,  6,  6,
+  6,  6,  6,  6,  8,  6,  8,  6,  8,  6,  8,  6,  8,  6,  8,  6,  3,  2,  3,  2,  3,  2,  3,  2,  3,  2,  7,  5,  3,  2,  7,  5,
+  5,  5,  2,  5,  2,  5,  2,  5,  3,  5,  2,  8,  6,  8,  6,  8,  6,  8,  8,  6,  9,  6,  9,  6,  9,  6, 10, 10,  7,  4,  7,  4,
+  7,  4,  6,  5,  6,  5,  6,  5,  6,  5,  5,  4,  5,  4,  5,  4,  8,  6,  8,  6,  8,  6,  8,  6,  8,  6,  8,  6,  9,  8,  7,  6,
+  7,  7,  5,  7,  5,  7,  5,  2,  6,  7,  6,  9, 10,  9,  6,  6,  5,  6,  6,  6,  6,  3,  6,  2,  6,  6,  6,  6,  7,  3,  7,  9,
+  4,  9,  8,  9,  4,  7,  7,  6,  7,  6,  7,  8,  9,  3,  7,  7, 10,  8,  5,  9,  8,  6,  6,  5,  7,  9,  6,  9,  9,  3,  7,  6,
+  5,  6,  4,  6,  6,  6,  6,  6,  5,  5,  6,  6,  4,  5,  6,  6,  6,  5,  6,  8,  6,  5,  6,  5,  6,  8,  6,  8,  8,  4,  6,  6,
+  6,  8,  6,  8,  6,  7,  6,  3,  3,  3, 10, 10,  8,  7,  6,  8,  7,  7,  7,  6,  7,  6,  9,  6,  8,  8,  7,  7, 10,  8,  9,  8,
+  6,  7,  5,  6,  9,  6,  8,  8, 11, 11,  8,  9,  7,  7, 12,  7,  6,  6,  6,  4,  7,  6,  8,  5,  6,  6,  5,  6,  7,  6,  6,  6,
+  6,  5,  6,  6,  8,  6,  6,  6, 10, 10,  8,  8,  6,  5,  9,  6,  6,  6,  4,  5,  5,  2,  2,  2, 10,  9,  6,  5,  6,  6,  5,  4,
+  9,  8,  9,  8,  9,  8,  7,  6,  6, 11, 11,  5,  2,  2,  2,  2,  4,  4,  4,  5,  5,  5,  9, 13,  3,  5,  3,  3,  6,  1,  4,  6,
+  6,  9,  6,  9,  6, 11,  9,  9,  7,  9,  9,  9,  9,  6,  7,  8,  7,  6,  6,  8,  4,  6,  6,  6,  6,  7,  6,  6,  6,  2,  6,  6,
+  6,  4,  4,  4,  4,  4,  4,  4,  6, 11,  6, 11,  4,  3,  2,  6,  3,  2,  1,  0,  0, 11, 11,  2,  2,  7,  7,  8, 10, 10,  7,  6,
+  9,  4,  4, 10, 10,  9,  6,  8,  7,  0,  0,  0,  0,  0,  6,  8,  6,  6, 11,  8,  7,  7, 10,  8,  7,  6, 10,  8,  7,  8, 10, 10,
+  6,  5,  9,  8,  9,  6,  8,  6,  8,  6, 14, 11,  9,  6, 11,  9, 11,  8,  7,  5,  6,  6,  6,  6,  6, 11, 11,  8,  6,  6,  6,  6,
+  6,  5,  4,  7,  6,  9,  8,  6,  5,  7,  6,  7,  5,  7,  5,  7,  7,  8,  6,  9,  7, 11, 10,  9,  7,  7,  5,  5,  6,  7,  6,  7,
+  6,  6,  6, 10,  9,  8,  7,  8,  6,  8,  6,  9,  7,  9,  7,  3,  9,  8,  7,  6,  7,  6,  8,  6,  8,  6,  8,  6, 10,  7,  3,  7,
+  6,  7,  6,  9, 10,  6,  6,  9,  6,  9,  6,  9,  8,  6,  5,  6,  5,  8,  6,  8,  6,  9,  6,  9,  6,  9,  6,  7,  5,  6,  6,  6,
+  6,  6,  6,  8,  6,  6,  4,  9,  8,  5,  4,  7,  6,  6,  6,  6,  6,  9, 10,  9,  9,  6,  6, 10,  9, 11,  9,  8,  6,  8,  7,  6,
+  5,  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  6,  6,  6,  6,  6,
+  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  3,  2,  3,  2,  9,  6,  9,  6,  9,  6,  9,  6,  9,  6,  9,  6,  9,  6,  9,  6,  9,
+  6,  9,  6,  9,  6,  9,  6,  8,  6,  8,  6,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  7,  6,  7,  6,  7,  6,  6,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  2,  2,  2, 12, 15,  7,  0,  6,  3,  3,  5,  8,  7, 10,  8,  3,  4,  4,  7,  7,  3,  4,  3,  4,  7,  7,  7,
+  7,  7,  7,  7,  7,  7,  7,  3,  3,  7,  7,  7,  5, 10,  7,  7,  7,  8,  6,  6,  8,  8,  4,  3,  7,  6, 11,  9,  9,  7,  9,  7,
+  7,  7,  8,  7, 11,  7,  7,  7,  4,  4,  4,  6,  5,  7,  7,  7,  6,  7,  7,  3,  6,  7,  3,  3,  6,  3, 11,  7,  7,  7,  7,  4,
+  6,  4,  7,  5,  9,  6,  5,  6,  4,  7,  4,  7,  3,  3,  7,  7,  7,  7,  7,  6,  7, 10,  4,  6,  7,  4, 10,  6,  5,  7,  4,  4,
+  7,  7,  8,  3,  2,  4,  4,  6,  9,  9,  9,  5,  7,  7,  7,  7,  7,  7, 10,  7,  6,  6,  6,  6,  4,  4,  4,  4,  8,  9,  9,  9,
+  9,  9,  9,  7,  9,  8,  8,  8,  8,  7,  7,  7,  7,  7,  7,  7,  7,  7, 11,  6,  7,  7,  7,  7,  3,  3,  3,  3,  7,  7,  7,  7,
+  7,  7,  7,  7,  7,  7,  7,  7,  7,  5,  7,  5,  7,  7,  7,  7,  7,  7,  7,  6,  7,  6,  7,  6,  7,  6,  8,  7,  8,  7,  6,  7,
+  6,  7,  6,  7,  6,  7,  6,  7,  8,  6,  8,  6,  8,  6,  8,  6,  8,  7,  8,  7,  4,  3,  4,  3,  4,  3,  4,  3,  4,  3,  7,  6,
+  3,  3,  7,  6,  6,  6,  3,  6,  3,  6,  3,  6,  4,  6,  3,  9,  7,  9,  7,  9,  7,  8,  9,  7,  9,  7,  9,  7,  9,  7, 11, 11,
+  7,  4,  7,  4,  7,  4,  7,  6,  7,  6,  7,  6,  7,  6,  7,  4,  7,  4,  7,  4,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,
+ 11,  9,  7,  5,  7,  7,  6,  7,  6,  7,  6,  3,  7,  7,  7, 10, 11,  9,  7,  7,  6,  7,  7,  7,  7,  3,  7,  2,  7,  7,  7,  7,
+  7,  3,  7,  9,  6,  9,  9,  9,  4,  7,  7,  6,  7,  6,  7,  8,  9,  4,  7,  7, 11,  9,  7,  9,  8,  7,  7,  7,  7,  9,  7,  9,
+  9,  4,  7,  7,  6,  7,  4,  7,  7,  7,  5,  7,  6,  5,  7,  7,  4,  6,  5,  7,  6,  6,  7,  8,  7,  6,  7,  5,  7,  9,  6,  9,
+  9,  4,  7,  7,  7,  9,  6,  9,  6,  7,  7,  4,  4,  3, 11, 11,  9,  7,  7,  8,  7,  7,  7,  6,  8,  6,  9,  7,  9,  9,  7,  8,
+ 11,  8,  9,  8,  7,  7,  7,  7,  9,  7,  8,  8, 11, 11,  8, 10,  7,  7, 12,  7,  7,  7,  7,  5,  6,  7,  9,  6,  7,  7,  6,  7,
+  9,  7,  7,  7,  7,  6,  5,  5,  9,  6,  7,  7, 11, 11,  8,  9,  7,  6, 10,  7,  7,  7,  5,  6,  6,  3,  3,  3, 11, 11,  7,  6,
+  5,  7,  6,  5, 11,  9, 11,  9, 11,  9,  7,  5,  6, 12, 12,  5,  2,  2,  2,  2,  4,  4,  4,  5,  5,  5,  9, 15,  3,  5,  4,  4,
+  6,  2,  4,  7,  7, 10,  7, 10,  6, 13, 10,  9,  7,  9,  9,  9,  9,  7,  7,  8,  8,  7,  7,  9,  5,  7,  7,  7,  7,  7,  7,  7,
+  7,  3,  6,  6,  6,  4,  4,  4,  4,  4,  4,  4,  6, 12,  6, 12,  4,  3,  2,  7,  3,  2,  1,  0,  0, 12, 12,  3,  2,  7,  7,  9,
+ 11, 11,  7,  7,  9,  4,  5, 11, 11,  9,  7,  9,  8,  0,  0,  0,  0,  0,  6,  9,  7,  7, 11,  9,  7,  7, 11,  9,  7,  7, 10, 10,
+  7,  7, 10, 10,  7,  6,  9,  9,  9,  7,  8,  5,  8,  5, 14, 13,  9,  7, 11,  9, 11,  9,  7,  6,  6,  7,  7,  7,  7, 12, 11,  9,
+  7,  7,  7,  7,  7,  6,  5,  7,  7, 10,  9,  7,  6,  8,  6,  7,  6,  7,  6,  8,  7,  8,  7,  9,  8, 12, 11, 10,  9,  7,  6,  7,
+  5,  7,  5,  7,  5,  7,  6, 10,  8,  9,  7,  8,  7,  8,  7, 10,  8, 10,  8,  4,  9,  9,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,
+ 11,  9,  4,  7,  7,  7,  7, 10, 11,  6,  7,  9,  7,  9,  7,  9,  9,  7,  6,  7,  6,  9,  7,  9,  7,  9,  7,  9,  7,  9,  7,  7,
+  6,  7,  5,  7,  5,  7,  5,  8,  7,  6,  5, 10,  9,  6,  5,  7,  6,  7,  6,  7,  7, 11, 11, 10,  9,  7,  6, 11, 10, 12, 11,  9,
+  7,  9,  7,  7,  6,  8,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  6,
+  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  7,  6,  7,  4,  3,  4,  3,  9,  7,  9,  7,  9,  7,  9,  7,  9,  7,  9,  7,  9,
+  7,  9,  7,  9,  7,  9,  7,  9,  7,  9,  7,  8,  7,  8,  7,  9,  8,  9,  8,  9,  8,  9,  8,  9,  8,  7,  5,  7,  5,  7,  5,  7,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2,  2, 13, 16,  8,  0,  7,  3,  4,  5,  8,  7, 11,  9,  3,  4,  4,  7,  7,  3,  4,  3,
+  5,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  3,  3,  7,  7,  7,  6, 11,  8,  8,  8,  9,  7,  6,  9,  9,  5,  3,  8,  6, 11,  9,
+ 10,  7, 10,  8,  7,  7,  9,  7, 11,  7,  7,  7,  4,  5,  4,  7,  5,  8,  7,  8,  6,  8,  7,  4,  7,  8,  3,  3,  6,  3, 11,  8,
+  8,  8,  8,  5,  6,  4,  8,  6, 10,  7,  6,  6,  5,  7,  5,  7,  3,  4,  7,  7,  7,  7,  7,  6,  8, 11,  5,  6,  7,  4, 11,  7,
+  6,  7,  5,  5,  8,  8,  9,  3,  3,  5,  5,  6, 10, 10, 10,  6,  8,  8,  8,  8,  8,  8, 11,  8,  7,  7,  7,  7,  5,  5,  5,  5,
+  9,  9, 10, 10, 10, 10, 10,  7, 10,  9,  9,  9,  9,  7,  7,  8,  7,  7,  7,  7,  7,  7, 11,  6,  7,  7,  7,  7,  3,  3,  3,  3,
+  8,  8,  8,  8,  8,  8,  8,  7,  8,  8,  8,  8,  8,  6,  8,  6,  8,  7,  8,  7,  8,  7,  8,  6,  8,  6,  8,  6,  8,  6,  9,  8,
+  9,  8,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  9,  7,  9,  7,  9,  7,  9,  7,  9,  8,  9,  8,  5,  3,  5,  3,  5,  3,  5,  3,
+  5,  3,  8,  6,  3,  3,  8,  6,  6,  6,  3,  6,  3,  6,  3,  6,  4,  6,  3,  9,  8,  9,  8,  9,  8,  9,  9,  8, 10,  8, 10,  8,
+ 10,  8, 12, 12,  8,  5,  8,  5,  8,  5,  7,  6,  7,  6,  7,  6,  7,  6,  7,  4,  7,  4,  7,  4,  9,  8,  9,  8,  9,  8,  9,  8,
+  9,  8,  9,  8, 11, 10,  7,  6,  7,  7,  6,  7,  6,  7,  6,  4,  7,  8,  7, 11, 11, 10,  8,  7,  6,  8,  8,  7,  8,  3,  8,  2,
+  8,  8,  8,  8,  8,  3,  8, 10,  6, 10,  9, 10,  4,  8,  8,  7,  7,  7,  7,  9, 10,  5,  8,  8, 11,  9,  7, 10,  9,  7,  7,  7,
+  7, 10,  7, 10, 10,  5,  7,  8,  6,  8,  4,  8,  8,  8,  6,  8,  6,  6,  8,  8,  4,  6,  7,  8,  7,  6,  8,  8,  8,  6,  8,  6,
+  8, 10,  7, 10, 11,  4,  8,  8,  8, 11,  7, 10,  7,  8,  7,  5,  5,  3, 12, 12, 10,  8,  8,  9,  8,  8,  8,  7,  8,  7, 11,  7,
+  9,  9,  8,  9, 11,  9, 10,  9,  7,  8,  7,  8, 10,  7,  9,  9, 13, 13,  9, 11,  8,  8, 13,  8,  7,  8,  7,  5,  7,  7,  9,  6,
+  8,  8,  6,  7,  9,  8,  8,  8,  8,  6,  5,  6,  9,  7,  8,  8, 11, 11,  8, 10,  7,  6, 11,  7,  7,  8,  5,  6,  6,  3,  3,  3,
+ 11, 11,  8,  6,  6,  8,  6,  5, 11, 10, 11, 10, 11, 10,  7,  6,  7, 13, 13,  5,  2,  2,  2,  2,  5,  5,  5,  5,  5,  5,  9, 16,
+  3,  5,  4,  4,  6,  2,  5,  7,  7, 11,  7, 10,  7, 13, 10, 10,  8, 10, 10, 10, 10,  8,  7,  9,  8,  7,  7,  9,  5,  7,  7,  7,
+  7,  7,  7,  7,  7,  3,  7,  7,  7,  5,  5,  5,  5,  5,  5,  5,  7, 13,  7, 13,  4,  3,  2,  7,  3,  3,  1,  0,  0, 13, 13,  3,
+  2,  8,  7, 11, 11, 11,  8,  7, 10,  4,  5, 11, 11, 10,  8, 10,  9,  0,  0,  0,  0,  0,  7,  9,  7,  8, 13, 10,  8,  8, 12,  9,
+  8,  7, 12, 10,  9,  7, 12, 10,  7,  6, 10, 10, 10,  8,  8,  6,  8,  6, 15, 14, 10,  8, 13, 10, 13, 10,  8,  6,  8,  7,  8,  8,
+  8, 13, 12, 10,  8,  7,  8,  7,  8,  6,  5,  8,  7, 11,  9,  7,  6,  8,  7,  8,  6,  8,  6,  9,  7,  9,  8, 10,  9, 13, 11, 10,
+ 10,  8,  6,  7,  5,  7,  6,  7,  6,  7,  7, 11,  9,  9,  8,  9,  8,  9,  8, 11,  9, 11,  9,  5, 11,  9,  8,  8,  9,  7,  9,  8,
+  9,  8,  9,  8, 11,  9,  5,  8,  7,  8,  7, 11, 11,  7,  7, 10,  7, 10,  7, 11,  9,  7,  6,  7,  7,  9,  8,  9,  8, 10,  8, 10,
+  8, 10,  8,  8,  6,  8,  6,  8,  6,  8,  6,  9,  8,  7,  5, 11, 10,  6,  5,  8,  7,  7,  7,  7,  8, 11, 12, 11, 10,  8,  7, 13,
+ 11, 13, 12,  9,  8,  9,  8,  7,  6,  9,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,
+  7,  8,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  5,  3,  5,  3, 10,  8, 10,  8, 10,  8, 10,  8, 10,
+  8, 10,  8, 10,  8, 10,  8, 10,  8, 10,  8, 10,  8, 10,  8,  9,  8,  9,  8, 10,  9, 10,  9, 10,  9, 10,  9, 10,  9,  7,  6,  7,
+  6,  7,  6,  8,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,  3,  3, 14, 17,  8,  0,  7,  4,  4,  6,  9,  8, 12, 10,  3,  4,  4,  8,
+  8,  4,  5,  4,  5,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  4,  4,  8,  8,  8,  6, 12,  9,  9,  8, 10,  7,  7, 10, 10,  5,  3,
+  8,  7, 12, 10, 11,  8, 11,  8,  7,  7, 10,  8, 13,  8,  7,  8,  4,  5,  4,  7,  6,  8,  7,  8,  7,  8,  8,  4,  7,  8,  4,  4,
+  7,  4, 13,  8,  8,  8,  8,  5,  7,  5,  8,  7, 10,  7,  7,  7,  5,  7,  5,  8,  4,  4,  8,  8,  8,  8,  7,  7,  8, 12,  5,  7,
+  8,  5, 12,  7,  6,  8,  5,  5,  8,  8,  9,  4,  3,  5,  5,  7, 10, 10, 10,  6,  9,  9,  9,  9,  9,  9, 12,  8,  7,  7,  7,  7,
+  5,  5,  5,  5, 10, 10, 11, 11, 11, 11, 11,  8, 11, 10, 10, 10, 10,  7,  8,  8,  7,  7,  7,  7,  7,  7, 12,  7,  8,  8,  8,  8,
+  4,  4,  4,  4,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  7,  8,  7,  9,  7,  9,  7,  9,  7,  8,  7,  8,  7,  8,  7,
+  8,  7, 10,  8, 10,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8, 10,  7, 10,  7, 10,  7, 10,  7, 10,  8, 10,  8,  5,  4,  5,  4,
+  5,  4,  5,  4,  5,  4,  8,  8,  3,  4,  8,  7,  7,  7,  4,  7,  4,  7,  4,  7,  5,  7,  4, 10,  8, 10,  8, 10,  8, 10, 10,  8,
+ 11,  8, 11,  8, 11,  8, 12, 13,  8,  5,  8,  5,  8,  5,  7,  7,  7,  7,  7,  7,  7,  7,  7,  5,  7,  5,  7,  5, 10,  8, 10,  8,
+ 10,  8, 10,  8, 10,  8, 10,  8, 13, 10,  7,  7,  7,  8,  7,  8,  7,  8,  7,  4,  8,  9,  7, 12, 12, 11,  8,  7,  7,  8,  8,  8,
+  8,  4,  8,  3,  8,  8,  8,  8,  9,  4,  8, 11,  6, 11,  9, 11,  4,  9,  9,  7,  9,  7,  8, 10, 11,  5,  8,  9, 12, 10,  8, 11,
+ 10,  8,  8,  7,  7, 11,  8, 11, 11,  5,  7,  8,  7,  8,  4,  8,  8,  8,  7,  8,  7,  6,  8,  8,  4,  7,  7,  8,  7,  7,  8,  9,
+  8,  7,  8,  6,  8, 10,  7, 10, 11,  4,  8,  8,  8, 11,  7, 10,  7,  8,  7,  5,  5,  3, 13, 13, 10,  8,  8, 10,  9,  8,  9,  7,
+  9,  7, 11,  8, 10, 10,  8,  9, 12, 10, 11, 10,  8,  8,  7,  8, 11,  8, 10,  9, 13, 13,  9, 12,  9,  8, 15,  8,  7,  8,  8,  5,
+  8,  8,  9,  7,  8,  8,  7,  8, 10,  8,  8,  8,  8,  7,  5,  7,  9,  7,  8,  8, 11, 11,  9, 11,  8,  7, 11,  8,  8,  8,  5,  7,
+  7,  4,  4,  4, 12, 12,  8,  7,  7,  8,  7,  6, 13, 10, 13, 10, 13, 10,  7,  7,  7, 14, 14,  6,  3,  3,  3,  3,  6,  6,  6,  7,
+  7,  6, 12, 17,  3,  6,  4,  4,  7,  2,  5,  8,  8, 12,  8, 11,  7, 14, 10, 11,  9, 11, 11, 11, 11,  8,  9, 10,  9,  8,  8, 10,
+  5,  8,  8,  8,  8,  7,  8,  8,  8,  4,  7,  7,  7,  5,  5,  5,  5,  5,  5,  5,  7, 14,  7, 14,  5,  4,  2,  8,  4,  3,  1,  0,
+  0, 14, 14,  4,  3,  8,  8, 11, 12, 13,  9,  7, 11,  5,  6, 13, 13, 11,  8, 11,  9,  0,  0,  0,  0,  0,  7, 10,  8,  8, 13, 11,
+  9,  8, 13, 10,  9,  7, 12, 10,  9,  9, 13, 12,  8,  7, 11, 10, 11,  8,  9,  7,  9,  7, 17, 15, 11,  8, 13, 11, 13, 11,  8,  7,
+  9,  8,  8,  8,  8, 14, 13, 10,  8,  8,  8,  8,  8,  7,  5,  9,  8, 11, 10,  8,  7,  9,  8,  8,  7,  8,  7,  9,  8, 10,  8, 11,
+ 10, 15, 12, 11, 10,  8,  7,  7,  5,  7,  7,  7,  7,  8,  7, 11, 10, 10,  9,  9,  8, 10,  8, 11,  9, 11,  9,  5, 11,  9,  9,  8,
+  9,  8, 10,  8, 10,  8,  9,  8, 12, 10,  5,  9,  7,  9,  7, 12, 12,  7,  8, 11,  8, 11,  8, 11,  9,  8,  7,  8,  7, 10,  8, 10,
+  8, 11,  8, 11,  8, 11,  8,  8,  7,  8,  7,  8,  7,  8,  7,  9,  8,  7,  5, 12, 11,  7,  5,  8,  7,  8,  7,  8,  8, 12, 12, 12,
+ 11,  8,  7, 13, 12, 14, 12, 10,  8, 10,  9,  8,  7,  9,  8,  9,  7,  9,  7,  9,  7,  9,  7,  9,  7,  9,  7,  9,  7,  9,  7,  9,
+  7,  9,  7,  9,  7,  9,  7,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,  7,  8,  5,  4,  5,  4, 11,  8, 11,  8, 11,
+  8, 11,  8, 11,  8, 11,  8, 11,  8, 11,  8, 11,  8, 11,  8, 11,  8, 11,  8, 10,  8, 10,  8, 11,  9, 11,  9, 11,  9, 11,  9, 11,
+  9,  7,  7,  7,  7,  7,  7,  8,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,  3,  3, 15, 18,  9,  0,  8,  4,  4,  7, 10,  8, 12, 11,
+  4,  5,  5,  8,  8,  4,  5,  4,  6,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  4,  4,  8,  8,  8,  6, 13, 10, 10,  9, 10,  8,  8,
+ 10, 11,  6,  4,  9,  7, 13, 11, 11,  9, 11,  9,  7,  8, 11,  9, 14,  9,  8,  8,  5,  6,  5,  8,  6,  9,  8,  9,  7,  9,  8,  4,
+  8,  8,  4,  4,  7,  4, 13,  8,  9,  9,  9,  6,  7,  5,  8,  7, 11,  7,  7,  7,  5,  7,  5,  8,  4,  4,  8,  8,  8,  8,  7,  7,
+  9, 12,  5,  7,  8,  5, 12,  8,  7,  8,  5,  5,  9,  8, 10,  4,  3,  5,  5,  7, 11, 11, 11,  6, 10, 10, 10, 10, 10, 10, 13,  9,
+  8,  8,  8,  8,  6,  6,  6,  6, 10, 11, 11, 11, 11, 11, 11,  8, 11, 11, 11, 11, 11,  8,  9,  9,  8,  8,  8,  8,  8,  8, 13,  7,
+  8,  8,  8,  8,  4,  4,  4,  4,  9,  8,  9,  9,  9,  9,  9,  8,  9,  8,  8,  8,  8,  7,  9,  7, 10,  8, 10,  8, 10,  8,  9,  7,
+  9,  7,  9,  7,  9,  7, 10,  9, 10,  9,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 10,  8, 10,  8, 10,  8, 10,  8, 11,  8, 11,  8,
+  6,  4,  6,  4,  6,  4,  6,  4,  6,  4,  9,  8,  4,  4,  9,  7,  7,  7,  4,  7,  4,  7,  4,  7,  5,  7,  4, 11,  8, 11,  8, 11,
+  8, 10, 11,  8, 11,  9, 11,  9, 11,  9, 13, 14,  9,  6,  9,  6,  9,  6,  7,  7,  7,  7,  7,  7,  7,  7,  8,  5,  8,  5,  8,  5,
+ 11,  8, 11,  8, 11,  8, 11,  8, 11,  8, 11,  8, 14, 11,  8,  7,  8,  8,  7,  8,  7,  8,  7,  4,  8, 10,  8, 13, 13, 11,  9,  7,
+  7,  9,  9,  8,  9,  4,  9,  3,  9,  9,  9,  9, 10,  4,  9, 12,  7, 12, 10, 12,  4, 10, 10,  8, 10,  8,  8, 11, 11,  6,  9, 10,
+ 13, 11,  8, 11, 11,  9,  8,  8,  8, 11,  9, 11, 11,  6,  8,  9,  7,  8,  4,  8,  9,  9,  7,  9,  7,  7,  8,  9,  4,  7,  7,  8,
+  8,  7,  9,  9,  9,  7,  9,  7,  8, 11,  8, 10, 12,  4,  8,  9,  8, 12,  8, 11,  8,  9,  7,  6,  6,  4, 14, 15, 11,  9,  9, 11,
+ 10,  9, 10,  8, 10,  8, 12,  8, 11, 11,  9, 11, 13, 11, 11, 11,  9,  9,  8,  9, 11,  9, 11, 10, 14, 14, 10, 13, 10,  9, 16,  9,
+  8,  9,  8,  6,  8,  8, 11,  7,  8,  8,  7,  8, 11,  8,  9,  8,  9,  7,  7,  7, 11,  7,  8,  8, 13, 13, 10, 11,  8,  7, 12,  8,
+  8,  8,  6,  7,  7,  4,  4,  4, 12, 13,  8,  7,  7,  8,  7,  6, 14, 11, 14, 11, 14, 11,  8,  7,  8, 15, 15,  6,  3,  3,  3,  3,
+  6,  6,  6,  8,  8,  7, 12, 18,  4,  7,  4,  4,  7,  2,  5,  8,  8, 12,  8, 12,  8, 15, 12, 11,  9, 11, 11, 11, 11,  9, 10, 11,
+  9,  8,  8, 11,  6,  8,  8,  8,  8,  9,  9,  9,  9,  4,  8,  8,  8,  5,  5,  5,  5,  5,  5,  5,  8, 15,  8, 15,  5,  4,  3,  8,
+  4,  3,  2,  0,  0, 15, 15,  4,  3,  9,  8, 12, 13, 13, 10,  8, 12,  5,  6, 14, 14, 11,  9, 11,  9,  0,  0,  0,  0,  0,  8, 11,
+  8,  8, 15, 12, 10,  9, 13, 11, 10,  8, 13, 10, 10,  9, 14, 12,  8,  7, 11, 10, 11,  9,  9,  7,  9,  7, 18, 16, 11,  9, 13, 12,
+ 15, 12,  9,  7,  9,  8,  9,  9,  9, 15, 14, 11,  8,  9,  9,  9,  9,  8,  6, 10,  8, 12, 11,  8,  7,  9,  8,  9,  7,  9,  7, 10,
+  9, 11,  8, 12, 10, 16, 13, 11, 10,  9,  7,  8,  7,  8,  7,  8,  7,  9,  7, 13, 10, 10,  9, 10,  8, 11,  8, 12,  9, 12,  9,  6,
+ 12, 11, 10,  8, 11,  8, 11,  8, 11,  8, 10,  8, 13, 11,  6, 10,  8, 10,  8, 13, 13,  8,  8, 11,  8, 11,  8, 12, 11,  8,  7,  8,
+  7, 11,  8, 11,  8, 11,  9, 11,  9, 11,  9,  9,  7,  9,  7,  9,  7,  9,  7, 10,  8,  8,  6, 13, 11,  8,  6,  9,  8,  9,  7,  9,
+  9, 14, 14, 14, 12,  9,  8, 15, 12, 15, 12, 11,  9, 11, 10,  8,  7, 11,  8, 10,  8, 10,  8, 10,  8, 10,  8, 10,  8, 10,  8, 10,
+  8, 10,  8, 10,  8, 10,  8, 10,  8, 10,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  6,  4,  6,  4, 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,  8, 11,  8, 11,  9, 11,  9, 11,
+  9, 11,  9, 11,  9,  8,  7,  8,  7,  8,  7,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,  3,  3, 16, 20, 10,  0,  8,  4,  4,  7,
+ 10,  9, 13, 11,  4,  5,  5,  9,  9,  4,  5,  4,  6,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  4,  4,  9,  9,  9,  7, 14, 11, 11,
+ 10, 11,  8,  8, 11, 11,  6,  4,  9,  8, 14, 12, 11,  9, 11, 10,  8,  8, 11, 10, 14,  9,  8,  9,  5,  6,  5,  9,  7,  9,  9,  9,
+  8,  9,  9,  4,  8,  9,  4,  4,  8,  4, 14,  9,  9,  9,  9,  6,  7,  5,  9,  8, 12,  8,  8,  8,  6,  9,  6,  9,  4,  4,  9,  9,
+  9,  9,  9,  8,  9, 13,  6,  8,  9,  5, 13,  8,  7,  9,  6,  6,  9,  9, 10,  4,  3,  6,  6,  8, 12, 12, 12,  7, 11, 11, 11, 11,
+ 11, 11, 14, 10,  8,  8,  8,  8,  6,  6,  6,  6, 11, 12, 11, 11, 11, 11, 11,  9, 11, 11, 11, 11, 11,  8,  9, 10,  9,  9,  9,  9,
+  9,  9, 14,  8,  9,  9,  9,  9,  4,  4,  4,  4,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  8,  9,  8, 11,  9, 11,  9,
+ 11,  9, 10,  8, 10,  8, 10,  8, 10,  8, 11,  9, 11,  9,  8,  9,  8,  9,  8,  9,  8,  9,  8,  9, 11,  8, 11,  8, 11,  8, 11,  8,
+ 11,  9, 11,  9,  6,  4,  6,  4,  6,  4,  6,  4,  6,  4, 10,  8,  4,  4,  9,  8,  8,  8,  4,  8,  4,  8,  4,  8,  6,  8,  4, 12,
+  9, 12,  9, 12,  9, 11, 12,  9, 11,  9, 11,  9, 11,  9, 14, 15, 10,  6, 10,  6, 10,  6,  8,  7,  8,  7,  8,  7,  8,  7,  8,  5,
+  8,  5,  8,  5, 11,  9, 11,  9, 11,  9, 11,  9, 11,  9, 11,  9, 14, 12,  8,  8,  8,  9,  8,  9,  8,  9,  8,  5,  9, 11,  9, 14,
+ 14, 11,  9,  8,  7,  9,  9,  9,  9,  4,  9,  3,  9,  9,  9,  9, 11,  4, 10, 12,  7, 13, 11, 13,  5, 11, 11,  8, 10,  8,  9, 11,
+ 11,  6,  9, 10, 14, 12,  9, 11, 11,  9,  9,  8,  8, 13,  9, 13, 11,  6,  8,  9,  7,  9,  5,  9,  9, 10,  8,  9,  7,  7,  9,  9,
+  5,  8,  8,  9,  8,  8,  9, 10,  9,  8,  9,  7,  9, 11,  8, 12, 12,  5,  9,  9,  9, 12,  8, 11,  8, 10,  8,  6,  6,  4, 15, 15,
+ 11,  9, 10, 11, 11,  9, 11,  8, 10,  8, 14,  9, 12, 12,  9, 11, 14, 11, 11, 11,  9, 10,  8, 10, 13,  9, 11, 10, 16, 16, 11, 13,
+ 10, 10, 16, 10,  9,  9,  9,  6,  9,  9, 11,  7,  9,  9,  8,  9, 11,  9,  9,  9,  9,  8,  7,  8, 11,  8,  9,  9, 14, 14, 11, 12,
+  9,  8, 13,  9,  9,  9,  6,  8,  7,  4,  4,  4, 14, 14,  9,  8,  8,  9,  8,  6, 14, 12, 14, 12, 14, 12,  8,  8,  8, 16, 16,  7,
+  3,  3,  3,  3,  6,  6,  6,  8,  8,  7, 12, 20,  4,  7,  5,  5,  8,  2,  6,  9,  9, 13,  9, 13,  8, 16, 13, 11, 10, 12, 12, 12,
+ 12,  9, 10, 11, 10,  9,  9, 11,  6,  9,  9,  9,  9,  9,  9,  9, 10,  4,  8,  8,  8,  6,  6,  6,  6,  6,  6,  6,  8, 16,  8, 16,
+  5,  4,  3,  9,  4,  3,  2,  0,  0, 16, 16,  4,  3,  9,  9, 12, 14, 14, 11,  9, 13,  5,  6, 14, 14, 11,  9, 11, 10,  0,  0,  0,
+  0,  0,  8, 12,  9,  9, 16, 13, 11,  9, 14, 11, 11,  9, 14, 12, 11,  9, 15, 14,  9,  7, 13, 12, 11,  9, 10,  8, 10,  8, 19, 17,
+ 11,  9, 14, 13, 16, 13, 10,  8, 10,  9,  9,  9,  9, 16, 15, 12,  9,  9,  9,  9,  9,  8,  6, 11,  8, 14, 11,  9,  7, 10,  9,  9,
+  8,  9,  8, 11, 10, 11,  9, 12, 11, 17, 13, 13, 10, 10,  8,  8,  7,  8,  7,  8,  7,  9,  8, 13, 11, 11, 10, 10,  9, 11,  9, 13,
+ 10, 13, 10,  6, 14, 11, 11,  9, 11,  9, 11,  9, 11,  9, 10,  9, 14, 11,  6, 11,  9, 11,  9, 14, 14,  8,  9, 11,  9, 11,  9, 14,
+ 11,  9,  7,  9,  8, 12,  9, 12,  9, 11,  9, 11,  9, 11,  9, 10,  8, 10,  8, 10,  8, 10,  8, 10,  9,  8,  6, 13, 12,  8,  6, 10,
+  8,  9,  8,  9,  9, 14, 14, 15, 13, 10,  8, 16, 14, 16, 14, 11,  9, 11, 10,  9,  7, 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,  8,  9,  8,  9,  8,  9,  8,  9,  8,  9,  8,  9,  8,  9,  8,  9,  6,
+  4,  6,  4, 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,
+ 10, 11, 10, 11, 10, 11, 10, 11, 10,  8,  8,  8,  8,  8,  8,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,  3,  3, 17, 20, 10,  0,
+  9,  4,  4,  7, 11,  9, 14, 12,  4,  5,  5,  9,  9,  4,  5,  4,  6,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  4,  4,  9,  9,  9,
+  7, 15, 10, 11, 10, 12,  9,  9, 12, 12,  6,  5, 10,  8, 15, 13, 13, 10, 13, 11,  9,  9, 12, 10, 15,  9,  9, 10,  5,  6,  5,  9,
+  7, 10,  9, 10,  8, 10,  9,  6,  8,  9,  4,  4,  8,  4, 15,  9, 10, 10, 10,  6,  8,  6,  9,  8, 13,  8,  8,  8,  6,  9,  6,  9,
+  4,  4,  9,  9,  9,  9,  9,  8, 10, 14,  6,  8,  9,  5, 14,  9,  7,  9,  6,  6, 10,  9, 11,  4,  3,  6,  6,  8, 13, 13, 13,  7,
+ 10, 10, 10, 10, 10, 10, 14, 10,  9,  9,  9,  9,  6,  6,  6,  6, 12, 13, 13, 13, 13, 13, 13,  9, 13, 12, 12, 12, 12,  9, 10, 10,
+  9,  9,  9,  9,  9,  9, 14,  8,  9,  9,  9,  9,  4,  4,  4,  4, 10,  9, 10, 10, 10, 10, 10,  9, 10,  9,  9,  9,  9,  8, 10,  8,
+ 10,  9, 10,  9, 10,  9, 10,  8, 10,  8, 10,  8, 10,  8, 12, 10, 12, 10,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9, 12,  8, 12,  8,
+ 12,  8, 12,  8, 12,  9, 12,  9,  6,  4,  6,  4,  6,  4,  6,  4,  6,  4, 11,  8,  5,  4, 10,  8,  8,  8,  4,  8,  4,  8,  4,  8,
+  6,  8,  4, 13,  9, 13,  9, 13,  9, 11, 13,  9, 13, 10, 13, 10, 13, 10, 15, 15, 11,  6, 11,  6, 11,  6,  9,  8,  9,  8,  9,  8,
+  9,  8,  9,  6,  9,  6,  9,  6, 12,  9, 12,  9, 12,  9, 12,  9, 12,  9, 12,  9, 15, 13,  9,  8,  9, 10,  8, 10,  8, 10,  8,  5,
+  9, 10,  9, 14, 14, 13, 10,  9,  8, 10, 10,  9, 10,  4, 10,  3, 10, 10, 10, 10, 10,  4, 10, 13,  8, 13, 11, 13,  5, 10, 11,  9,
+ 10,  9, 10, 12, 13,  6, 10, 10, 15, 13,  9, 13, 12, 10,  9,  9,  9, 14,  9, 14, 13,  6,  9, 10,  8,  9,  5,  9, 10, 10,  8, 10,
+  8,  8,  9, 10,  5,  8,  9,  9,  8,  8, 10, 11, 10,  8, 10,  8,  9, 12,  9, 12, 13,  5,  9, 10,  9, 13,  9, 12,  9, 10,  9,  6,
+  6,  5, 15, 16, 12, 10, 10, 12, 10, 10, 11,  9, 11,  9, 14, 10, 13, 13, 10, 11, 15, 12, 13, 12, 10, 10,  9, 10, 14,  9, 12, 11,
+ 17, 17, 11, 14, 11, 10, 18, 11,  9, 10,  9,  6,  9,  9, 12,  8,  9,  9,  8,  9, 12,  9, 10,  9, 10,  8,  8,  8, 12,  8,  9,  9,
+ 15, 15, 11, 12,  9,  8, 14,  9,  9,  9,  6,  8,  8,  4,  4,  4, 14, 14,  9,  8,  8,  9,  8,  7, 15, 13, 15, 13, 15, 13,  9,  8,
+  9, 17, 17,  7,  3,  3,  3,  3,  6,  6,  6,  8,  8,  6, 15, 20,  4,  7,  5,  5,  8,  2,  6,  9,  9, 13,  9, 14,  9, 18, 14, 13,
+ 11, 13, 13, 13, 13, 10, 10, 12, 11,  9,  9, 12,  7,  9,  9,  9,  9,  9, 10, 10, 10,  4,  9,  9,  9,  6,  6,  6,  6,  6,  6,  6,
+  9, 17,  9, 17,  6,  4,  3,  9,  5,  3,  2,  0,  0, 17, 17,  4,  3, 10, 10, 13, 15, 15, 10,  9, 13,  6,  7, 16, 16, 13, 10, 12,
+ 10,  0,  0,  0,  0,  0,  9, 13,  9,  9, 17, 14, 11, 10, 15, 12, 10,  9, 15, 12, 12, 11, 17, 14,  9,  8, 14, 12, 13, 10, 10,  8,
+ 10,  8, 20, 18, 13, 10, 15, 13, 17, 14, 10,  8, 10,  9, 10, 10, 10, 17, 16, 14,  9, 10, 10, 10, 10,  9,  6, 11,  9, 14, 12, 10,
+  8, 11,  9, 10,  8, 10,  8, 11, 10, 12,  9, 13, 11, 18, 15, 14, 11, 10,  8,  9,  8,  9,  7,  9,  7,  9,  8, 13, 12, 12, 10, 11,
+  9, 12,  9, 14, 10, 14, 10,  6, 14, 12, 11,  9, 11,  9, 12,  9, 12,  9, 11,  9, 15, 12,  6, 10,  9, 10,  9, 14, 14,  9,  9, 13,
+  9, 13,  9, 14, 12, 10,  8, 10,  8, 13,  9, 13,  9, 13, 10, 13, 10, 13, 10, 10,  8, 10,  8, 10,  8, 10,  8, 11,  9,  9,  6, 14,
+ 12,  9,  6, 10,  9,  9,  8, 10, 10, 15, 15, 16, 13, 11,  9, 16, 14, 17, 14, 12, 10, 13, 11, 10,  8, 11,  9, 10,  9, 10,  9, 10,
+  9, 10,  9, 10,  9, 10,  9, 10,  9, 10,  9, 10,  9, 10,  9, 10,  9, 10,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
+  9,  9,  9,  6,  4,  6,  4, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 12,
+  9, 12,  9, 12, 10, 12, 10, 12, 10, 12, 10, 12, 10,  9,  8,  9,  8,  9,  8, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,  3,  3,
+ 18, 22, 11,  0,  9,  5,  4,  7, 12, 10, 15, 13,  4,  5,  5, 10, 10,  4,  6,  4,  7, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,  4,
+  4, 10, 10, 10,  8, 16, 11, 11, 11, 12, 10,  9, 12, 13,  6,  5, 10,  9, 16, 13, 13, 11, 13, 11,  9,  9, 13, 10, 16, 10,  9, 10,
+  5,  7,  5, 10,  7, 10, 10, 11,  8, 11, 10,  7, 10, 11,  5,  5,  9,  5, 16, 11, 10, 11, 11,  7,  9,  6, 11, 10, 13,  9, 10,  8,
+  6, 10,  6, 10,  5,  4, 10, 10, 10, 10, 10,  9, 10, 15,  6, 10, 10,  6, 15,  9,  8, 10,  6,  6, 10, 11, 12,  4,  4,  6,  6, 10,
+ 13, 13, 13,  8, 11, 11, 11, 11, 11, 11, 15, 11, 10, 10, 10, 10,  6,  6,  6,  6, 12, 13, 13, 13, 13, 13, 13, 10, 13, 13, 13, 13,
+ 13,  9, 11, 11, 10, 10, 10, 10, 10, 10, 15,  8, 10, 10, 10, 10,  5,  5,  5,  5, 10, 11, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11,
+ 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11,  8, 11,  8, 11,  8, 11,  8, 12, 11, 12, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 12, 10, 12, 10, 12, 10, 12, 10, 13, 11, 13, 11,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5, 11, 10,  5,  5, 10,  9,  9,  9,  5,  9,
+  5,  9,  5,  9,  6,  9,  5, 13, 11, 13, 11, 13, 11, 13, 13, 11, 13, 10, 13, 10, 13, 10, 16, 16, 11,  7, 11,  7, 11,  7,  9,  9,
+  9,  9,  9,  9,  9,  9,  9,  6,  9,  6,  9,  6, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 16, 13,  9, 10,  9, 10,  8, 10,
+  8, 10,  8,  5, 10, 11, 10, 15, 15, 13, 10,  9,  9, 10, 10, 10, 10,  5, 10,  3, 10, 10, 10, 10, 11,  4, 11, 14,  8, 14, 12, 14,
+  6, 11, 11, 10, 11, 10, 10, 13, 13,  6, 10, 11, 16, 13, 10, 13, 13, 11, 10,  9,  9, 14, 10, 14, 13,  6,  9, 11,  8, 11,  6, 11,
+ 11, 11, 10, 10,  8,  8, 11, 10,  6,  9,  9, 11,  9,  8, 10, 12, 11,  8, 10,  8, 11, 13, 10, 12, 13,  6, 11, 10, 11, 13, 10, 13,
+ 10, 11,  9,  6,  6,  5, 16, 17, 13, 10, 11, 13, 11, 11, 11, 10, 12, 10, 14, 10, 13, 13, 10, 12, 16, 13, 13, 13, 11, 11,  9, 11,
+ 14, 10, 13, 12, 18, 18, 12, 15, 11, 11, 19, 11, 10, 10, 10,  7, 10, 10, 13,  8, 11, 11,  9, 10, 14, 11, 10, 11, 11,  8,  8, 10,
+ 13,  9, 11, 11, 16, 16, 12, 14, 10,  8, 15, 10, 10, 11,  7,  8,  9,  5,  5,  5, 15, 16, 11,  9, 10, 11,  9,  7, 16, 13, 16, 13,
+ 16, 13,  9, 10,  9, 18, 18,  7,  3,  3,  4,  3,  6,  6,  6,  8,  8,  7, 15, 21,  4,  7,  6,  6,  9,  2,  7, 10, 10, 14, 10, 14,
+  9, 19, 14, 13, 11, 14, 14, 14, 14, 10, 11, 13, 11, 10, 10, 13,  7, 10, 10, 10, 10, 11, 11, 11, 11,  5,  9,  9,  9,  6,  6,  6,
+  6,  6,  6,  6,  9, 18,  9, 18,  6,  5,  3, 10,  5,  4,  2,  0,  0, 18, 18,  5,  3, 11, 10, 15, 16, 16, 11, 10, 14,  6,  7, 17,
+ 17, 13, 10, 13, 12,  0,  0,  0,  0,  0, 10, 13, 10, 11, 18, 14, 12, 11, 16, 13, 11, 10, 16, 14, 12, 11, 17, 14, 10,  8, 14, 12,
+ 13, 10, 10, 10, 10, 10, 22, 19, 13, 10, 17, 14, 18, 14, 11,  8, 11, 10, 10, 10, 10, 18, 17, 13, 11, 10, 11, 11, 11,  9,  7, 11,
+  9, 14, 13, 10,  8, 11, 10, 10,  9, 10,  9, 12, 11, 13, 11, 14, 12, 19, 15, 13, 12, 11,  8,  9,  8,  9,  9,  9,  9, 10,  9, 15,
+ 13, 13, 11, 12, 11, 13, 11, 15, 12, 15, 12,  6, 14, 13, 12, 10, 12, 10, 13, 11, 13, 11, 12, 11, 16, 14,  6, 11, 10, 11, 10, 15,
+ 15, 10, 10, 13, 10, 13, 10, 14, 13, 10,  8, 10,  8, 13, 11, 13, 11, 13, 10, 13, 10, 13, 10, 11,  8, 11, 10, 11, 10, 11, 10, 12,
+ 11, 10,  7, 15, 14,  9,  7, 11,  9, 10,  9, 11, 11, 16, 17, 16, 15, 11,  9, 18, 15, 19, 16, 13, 10, 13, 12, 10,  8, 12, 10, 11,
+ 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10,  6,  5,  6,  5, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13,
+ 10, 13, 10, 13, 11, 13, 11, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12,  9, 10,  9, 10,  9, 10, 11,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  4,  4,  4, 19, 23, 11,  0, 10,  5,  4,  8, 12, 10, 16, 13,  4,  6,  6, 10, 10,  4,  6,  4,  7, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10,  4,  4, 10, 10, 10,  8, 16, 12, 12, 12, 13, 10,  9, 13, 14,  6,  5, 11, 10, 17, 14, 14, 11, 14, 12, 10, 10, 14, 11,
+ 17, 10, 10, 10,  6,  7,  6, 10,  8, 11, 10, 11,  9, 11, 10,  7, 10, 11,  5,  5,  9,  5, 17, 11, 10, 11, 11,  8,  9,  6, 11, 10,
+ 14, 10, 10,  8,  7, 10,  7, 10,  5,  4, 10, 10, 10, 10, 10, 10, 11, 16,  7, 10, 10,  6, 16, 10,  8, 10,  6,  6, 11, 11, 12,  4,
+  4,  6,  7, 10, 14, 14, 14,  8, 12, 12, 12, 12, 12, 12, 16, 12, 10, 10, 10, 10,  6,  6,  6,  6, 13, 14, 14, 14, 14, 14, 14, 10,
+ 14, 14, 14, 14, 14, 10, 11, 11, 10, 10, 10, 10, 10, 10, 16,  9, 10, 10, 10, 10,  5,  5,  5,  5, 10, 11, 10, 10, 10, 10, 10, 10,
+ 10, 11, 11, 11, 11, 10, 11, 10, 12, 10, 12, 10, 12, 10, 12,  9, 12,  9, 12,  9, 12,  9, 13, 11, 13, 11, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 13, 10, 13, 10, 13, 10, 13, 10, 14, 11, 14, 11,  6,  5,  6,  5,  6,  5,  6,  5,  6,  5, 11, 10,  5,  5, 11,  9,
+  9, 10,  5, 10,  5, 10,  5, 10,  6, 10,  5, 14, 11, 14, 11, 14, 11, 13, 14, 11, 14, 10, 14, 10, 14, 10, 17, 17, 12,  8, 12,  8,
+ 12,  8, 10,  9, 10,  9, 10,  9, 10,  9, 10,  6, 10,  6, 10,  6, 14, 11, 14, 11, 14, 11, 14, 11, 14, 11, 14, 11, 17, 14, 10, 10,
+ 10, 10,  8, 10,  8, 10,  8,  5, 10, 12, 10, 16, 16, 14, 10, 10,  9, 11, 11, 11, 11,  5, 11,  4, 11, 11, 11, 11, 12,  4, 11, 14,
+  9, 15, 13, 15,  6, 12, 12, 10, 11, 10, 10, 14, 14,  6, 11, 12, 17, 14, 10, 14, 14, 11, 10, 10, 10, 14, 10, 14, 14,  6, 10, 11,
+  8, 11,  6, 11, 11, 11, 10, 10,  8,  9, 11, 10,  6,  9, 10, 11, 10,  9, 10, 12, 11,  9, 10,  9, 11, 13, 10, 14, 14,  6, 11, 10,
+ 11, 14, 10, 13, 10, 12, 10,  6,  6,  5, 17, 18, 13, 11, 11, 14, 12, 11, 12, 10, 12, 10, 16, 10, 14, 14, 11, 13, 17, 14, 14, 14,
+ 11, 12, 10, 11, 14, 10, 14, 12, 18, 18, 12, 16, 12, 12, 20, 12, 10, 10, 10,  7, 11, 10, 14,  8, 11, 11,  9, 10, 14, 11, 10, 11,
+ 11,  9,  9, 10, 13, 10, 11, 11, 17, 17, 13, 15, 10,  9, 15, 10, 10, 11,  7,  9,  9,  5,  5,  5, 15, 16, 11,  9, 10, 11, 10,  8,
+ 17, 14, 17, 14, 17, 14, 10, 10, 10, 19, 19,  8,  3,  3,  4,  3,  7,  7,  7,  8,  8,  7, 15, 23,  4,  8,  6,  6,  9,  2,  7, 10,
+ 10, 14, 10, 15, 10, 19, 14, 14, 12, 14, 14, 14, 14, 11, 11, 14, 11, 10, 10, 13,  7, 10, 10, 10, 10, 11, 12, 12, 11,  5, 10, 10,
+ 10,  6,  6,  6,  6,  6,  6,  6, 10, 19, 10, 19,  6,  5,  3, 10,  5,  4,  2,  0,  0, 19, 19,  5,  3, 11, 10, 16, 17, 17, 12, 10,
+ 15,  6,  8, 18, 18, 14, 10, 14, 12,  0,  0,  0,  0,  0, 10, 14, 10, 11, 19, 15, 12, 11, 17, 14, 12, 11, 17, 15, 14, 13, 19, 17,
+ 10,  8, 14, 14, 14, 10, 11, 10, 11, 10, 22, 20, 14, 11, 18, 15, 19, 15, 12,  9, 12, 11, 11, 11, 11, 19, 18, 14, 11, 11, 11, 11,
+ 11,  9,  7, 12, 10, 16, 14, 10,  8, 12, 10, 11,  9, 11,  9, 13, 11, 14, 11, 15, 12, 20, 16, 14, 12, 12,  9, 10,  9, 10,  9, 10,
+  9, 10, 10, 16, 13, 13, 11, 12, 11, 14, 11, 15, 12, 15, 12,  6, 16, 14, 13, 10, 13, 10, 14, 11, 14, 11, 12, 11, 17, 14,  6, 12,
+ 10, 12, 10, 16, 16, 10, 10, 14, 10, 14, 10, 16, 14, 10,  8, 10,  9, 14, 11, 14, 11, 14, 10, 14, 10, 14, 10, 12,  9, 11, 10, 11,
+ 10, 11, 10, 12, 11, 10,  7, 16, 15,  9,  7, 11, 10, 10, 10, 11, 11, 17, 17, 17, 15, 11,  9, 19, 16, 20, 17, 14, 10, 13, 12, 10,
+  8, 13, 10, 12, 10, 12, 10, 12, 10, 12, 10, 12, 10, 12, 10, 12, 10, 12, 10, 12, 10, 12, 10, 12, 10, 12, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,  6,  5,  6,  5, 14, 10, 14, 10, 14, 10, 14, 10, 14, 10, 14, 10, 14, 10, 14, 10, 14,
+ 10, 14, 10, 14, 10, 14, 10, 14, 11, 14, 11, 14, 12, 14, 12, 14, 12, 14, 12, 14, 12, 10, 10, 10, 10, 10, 10, 11,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  4,  4,  4, 20, 24, 12,  0, 10,  5,  5,  8, 13, 11, 17, 14,  5,  6,  6, 11, 11,  5,  6,  5,  7, 11, 11, 11,
+ 11, 11, 11, 11, 11, 11, 11,  5,  5, 11, 11, 11,  9, 17, 13, 12, 12, 14, 11, 10, 14, 13,  7,  6, 11, 10, 17, 14, 16, 12, 16, 12,
+ 11, 11, 13, 12, 18, 11, 11, 11,  6,  7,  6, 11,  8, 12, 11, 12,  9, 12, 10,  7, 11, 12,  5,  5, 10,  5, 19, 12, 11, 12, 12,  8,
+  9,  7, 12, 10, 15, 10, 10,  9,  7, 11,  7, 11,  5,  5, 11, 11, 11, 11, 11,  9, 12, 17,  7, 10, 11,  6, 17, 10,  9, 11,  7,  7,
+ 12, 12, 13,  5,  4,  7,  7, 10, 15, 15, 15,  9, 13, 13, 13, 13, 13, 13, 17, 12, 11, 11, 11, 11,  7,  7,  7,  7, 14, 14, 16, 16,
+ 16, 16, 16, 11, 16, 13, 13, 13, 13, 11, 12, 12, 11, 11, 11, 11, 11, 11, 17,  9, 10, 10, 10, 10,  5,  5,  5,  5, 11, 12, 11, 11,
+ 11, 11, 11, 11, 11, 12, 12, 12, 12, 10, 12, 10, 13, 11, 13, 11, 13, 11, 12,  9, 12,  9, 12,  9, 12,  9, 14, 12, 14, 12, 11, 10,
+ 11, 10, 11, 10, 11, 10, 11, 10, 14, 11, 14, 11, 14, 11, 14, 11, 13, 12, 13, 12,  7,  5,  7,  5,  7,  5,  7,  5,  7,  5, 13, 10,
+  6,  5, 11, 10, 10, 10,  5, 10,  5, 10,  5, 10,  6, 10,  5, 14, 12, 14, 12, 14, 12, 14, 14, 12, 16, 11, 16, 11, 16, 11, 18, 18,
+ 12,  8, 12,  8, 12,  8, 11,  9, 11,  9, 11,  9, 11,  9, 11,  7, 11,  7, 11,  7, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12,
+ 18, 15, 11, 10, 11, 11,  9, 11,  9, 11,  9,  6, 11, 13, 11, 17, 17, 16, 11, 11,  9, 12, 12, 11, 12,  5, 12,  4, 12, 12, 12, 12,
+ 13,  5, 13, 15,  9, 17, 13, 17,  6, 13, 12, 11, 12, 11, 11, 13, 16,  7, 11, 12, 17, 14, 11, 16, 13, 12, 11, 11, 11, 15, 11, 15,
+ 16,  7, 11, 12,  8, 12,  6, 12, 12, 12, 11, 11,  8,  9, 12, 11,  6, 10, 10, 12, 10,  9, 11, 13, 12,  9, 11,  9, 12, 13, 10, 15,
+ 15,  6, 12, 11, 12, 15, 11, 14, 11, 12, 11,  7,  7,  6, 19, 19, 14, 11, 12, 13, 13, 12, 12, 11, 13, 11, 17, 11, 14, 14, 11, 13,
+ 17, 13, 16, 13, 12, 12, 11, 12, 15, 11, 13, 13, 19, 19, 13, 16, 12, 13, 21, 12, 11, 11, 11,  8, 11, 10, 15,  8, 12, 12, 10, 11,
+ 14, 12, 11, 12, 12,  9,  9, 10, 15, 10, 12, 12, 17, 17, 14, 16, 11,  9, 17, 11, 10, 12,  8,  9,  9,  5,  5,  5, 17, 17, 12, 10,
+ 10, 12,  9,  8, 18, 15, 18, 15, 18, 15, 11, 10, 10, 20, 20,  8,  4,  4,  4,  4,  8,  8,  8, 10, 10,  8, 15, 23,  5,  8,  6,  6,
+ 10,  3,  7, 11, 11, 15, 11, 16, 10, 20, 15, 16, 12, 15, 15, 15, 15, 12, 12, 14, 12, 11, 11, 14,  8, 11, 11, 11, 11, 11, 12, 12,
+ 12,  5, 10, 10, 10,  7,  7,  7,  7,  7,  7,  7, 10, 20, 10, 20,  7,  5,  3, 11,  5,  4,  2,  0,  0, 20, 20,  5,  4, 12, 11, 17,
+ 17, 19, 13, 11, 16,  7,  8, 18, 18, 16, 11, 15, 13,  0,  0,  0,  0,  0, 11, 14, 10, 12, 19, 16, 13, 12, 18, 14, 13, 11, 18, 15,
+ 15, 13, 19, 17, 11,  8, 15, 15, 16, 11, 12, 10, 12, 10, 24, 21, 16, 12, 18, 16, 19, 16, 12,  9, 12, 11, 12, 12, 12, 20, 19, 14,
+ 12, 12, 12, 12, 12, 10,  8, 12, 10, 17, 15, 11,  8, 12, 11, 11, 10, 11, 10, 13, 12, 13, 12, 15, 14, 21, 17, 15, 12, 12,  9, 11,
+  9, 11, 11, 11, 11, 11, 10, 17, 15, 13, 13, 13, 12, 13, 12, 16, 13, 16, 13,  7, 17, 15, 13, 11, 13, 11, 13, 12, 13, 12, 13, 12,
+ 17, 14,  7, 13, 11, 13, 11, 17, 17, 11, 10, 15, 10, 15, 10, 17, 15, 11,  8, 11,  9, 14, 12, 14, 12, 16, 11, 16, 11, 16, 11, 13,
+  9, 12, 10, 12, 10, 12, 10, 13, 12, 11,  8, 16, 16, 10,  8, 12, 10, 11, 10, 12, 12, 18, 18, 17, 15, 11,  9, 19, 17, 19, 18, 15,
+ 11, 14, 14, 11,  8, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 11,
+ 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10,  7,  5,  7,  5, 16, 11, 16, 11, 16, 11, 16, 11, 16, 11, 16, 11, 16,
+ 11, 16, 11, 16, 11, 16, 11, 16, 11, 16, 11, 13, 12, 13, 12, 15, 13, 15, 13, 15, 13, 15, 13, 15, 13, 11, 10, 11, 10, 11, 10, 12,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  4,  4, 21, 26, 13,  0, 11,  5,  6,  8, 14, 12, 17, 15,  4,  6,  6, 12, 12,  6,  7,  6,
+  8, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,  6,  6, 12, 12, 12,  9, 18, 13, 13, 13, 14, 11, 10, 14, 15,  8,  6, 12, 10, 18, 15,
+ 15, 12, 15, 13, 11, 10, 15, 12, 19, 11, 12, 11,  6,  8,  6, 11,  9, 12, 11, 12, 10, 12, 11,  7, 11, 12,  5,  5, 10,  5, 19, 12,
+ 12, 12, 12,  8,  9,  7, 12, 11, 16, 11, 11,  9,  7, 12,  7, 12,  5,  6, 12, 12, 12, 12, 12, 10, 12, 17,  7, 10, 12,  7, 17, 11,
+  9, 12,  7,  7, 12, 12, 14,  6,  4,  7,  7, 10, 15, 15, 15,  9, 13, 13, 13, 13, 13, 13, 18, 13, 11, 11, 11, 11,  8,  8,  8,  8,
+ 14, 15, 15, 15, 15, 15, 15, 12, 15, 15, 15, 15, 15, 12, 12, 12, 11, 11, 11, 11, 11, 11, 18, 10, 11, 11, 11, 11,  5,  5,  5,  5,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 12, 11, 13, 11, 13, 11, 13, 11, 13, 10, 13, 10, 13, 10, 13, 10, 14, 12,
+ 14, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 11, 14, 11, 14, 11, 14, 11, 15, 12, 15, 12,  8,  5,  8,  5,  8,  5,  8,  5,
+  8,  5, 13, 11,  6,  5, 12, 10, 10, 10,  5, 10,  5, 10,  5, 10,  6, 10,  5, 15, 12, 15, 12, 15, 12, 14, 15, 12, 15, 12, 15, 12,
+ 15, 12, 19, 20, 13,  8, 13,  8, 13,  8, 11,  9, 11,  9, 11,  9, 11,  9, 10,  7, 10,  7, 10,  7, 15, 12, 15, 12, 15, 12, 15, 12,
+ 15, 12, 15, 12, 19, 16, 12, 11, 12, 11,  9, 11,  9, 11,  9,  6, 12, 13, 11, 18, 18, 15, 12, 11,  9, 12, 12, 12, 12,  5, 12,  4,
+ 12, 12, 12, 12, 13,  6, 13, 16, 10, 16, 14, 17,  6, 13, 13, 11, 12, 11, 11, 15, 15,  8, 12, 13, 18, 15, 11, 15, 15, 12, 11, 10,
+ 12, 16, 11, 16, 15,  8, 12, 12,  9, 12,  6, 12, 12, 13, 11, 12,  9,  9, 12, 12,  6, 10, 11, 12, 11, 10, 12, 13, 12, 10, 12,  9,
+ 12, 15, 11, 16, 15,  6, 12, 12, 12, 15, 11, 15, 11, 13, 11,  8,  8,  6, 19, 20, 15, 12, 12, 15, 13, 12, 13, 11, 14, 11, 18, 11,
+ 15, 15, 12, 14, 18, 15, 15, 15, 12, 13, 10, 12, 16, 11, 15, 14, 20, 20, 14, 17, 13, 13, 21, 13, 11, 12, 11,  8, 12, 11, 15,  9,
+ 12, 12, 10, 12, 15, 12, 12, 12, 12, 10,  9, 11, 15, 11, 12, 12, 17, 17, 14, 16, 11, 10, 18, 11, 11, 12,  8, 10,  9,  5,  5,  5,
+ 17, 18, 12, 10, 11, 12, 10,  8, 19, 16, 19, 16, 19, 16, 12, 11, 11, 21, 21,  9,  4,  4,  4,  4,  8,  8,  8, 10, 10,  9, 18, 25,
+  4,  8,  6,  6, 10,  3,  7, 12, 12, 16, 12, 17, 11, 21, 17, 15, 13, 16, 16, 16, 16, 12, 12, 15, 12, 12, 12, 15,  8, 12, 12, 12,
+ 12, 11, 12, 12, 12,  5, 11, 11, 11,  7,  7,  7,  7,  7,  7,  7, 11, 21, 11, 21,  7,  5,  4, 12,  6,  4,  2,  0,  0, 21, 21,  5,
+  4, 13, 12, 17, 18, 19, 13, 11, 16,  7,  8, 19, 19, 15, 12, 16, 13,  0,  0,  0,  0,  0, 11, 15, 11, 12, 20, 17, 13, 12, 19, 15,
+ 13, 11, 18, 15, 14, 13, 20, 17, 11,  9, 16, 16, 15, 12, 12, 11, 12, 11, 26, 22, 16, 13, 19, 17, 20, 17, 13, 10, 13, 12, 12, 12,
+ 12, 21, 20, 16, 12, 12, 12, 12, 12, 10,  8, 13, 11, 18, 15, 11,  9, 13, 11, 12, 10, 12, 10, 14, 13, 15, 12, 17, 14, 22, 18, 16,
+ 13, 13, 10, 10,  9, 12, 11, 12, 11, 11, 11, 17, 15, 14, 13, 14, 12, 15, 12, 17, 14, 17, 14,  8, 18, 15, 14, 11, 14, 12, 15, 12,
+ 15, 12, 14, 12, 18, 15,  8, 13, 11, 13, 11, 18, 18, 11, 11, 15, 11, 15, 11, 18, 15, 11,  9, 11, 10, 15, 12, 15, 12, 15, 12, 15,
+ 12, 15, 12, 13, 10, 12, 11, 12, 11, 12, 11, 14, 12, 11,  8, 17, 16, 10,  8, 13, 11, 11, 11, 12, 12, 18, 18, 18, 16, 12, 10, 20,
+ 18, 21, 18, 15, 12, 14, 14, 11,  9, 14, 12, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13, 11, 13,
+ 11, 13, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,  8,  5,  8,  5, 15, 12, 15, 12, 15, 12, 15, 12, 15,
+ 12, 15, 12, 15, 12, 15, 12, 15, 12, 15, 12, 15, 12, 15, 12, 15, 12, 15, 12, 16, 13, 16, 13, 16, 13, 16, 13, 16, 13, 12, 11, 12,
+ 11, 12, 11, 12,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  4,  4, 22, 26, 13,  0, 11,  6,  6,  8, 14, 12, 18, 15,  4,  7,  7, 12,
+ 12,  6,  7,  6,  8, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,  6,  6, 12, 12, 12,  9, 19, 13, 14, 13, 15, 12, 11, 15, 15,  8,  6,
+ 13, 11, 19, 16, 16, 13, 16, 13, 11, 11, 15, 13, 19, 12, 12, 12,  7,  8,  7, 12,  9, 13, 12, 13, 10, 13, 12,  7, 11, 13,  6,  6,
+ 11,  6, 20, 13, 13, 13, 13,  9, 10,  7, 13, 11, 16, 11, 11, 10,  8, 12,  8, 12,  6,  6, 12, 12, 12, 12, 12, 11, 13, 18,  7, 11,
+ 12,  7, 18, 11,  9, 12,  7,  7, 13, 13, 14,  6,  5,  7,  8, 11, 16, 16, 16,  9, 13, 13, 13, 13, 13, 13, 19, 13, 12, 12, 12, 12,
+  8,  8,  8,  8, 15, 16, 16, 16, 16, 16, 16, 12, 16, 15, 15, 15, 15, 12, 13, 13, 12, 12, 12, 12, 12, 12, 18, 10, 12, 12, 12, 12,
+  6,  6,  6,  6, 13, 13, 13, 13, 13, 13, 13, 12, 13, 13, 13, 13, 13, 11, 13, 11, 13, 12, 13, 12, 13, 12, 13, 10, 13, 10, 13, 10,
+ 13, 10, 15, 13, 15, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 15, 11, 15, 11, 15, 11, 15, 11, 15, 13, 15, 13,  8,  6,  8,  6,
+  8,  6,  8,  6,  8,  6, 13, 12,  6,  6, 13, 11, 11, 11,  6, 11,  6, 11,  6, 11,  7, 11,  6, 16, 13, 16, 13, 16, 13, 15, 16, 13,
+ 16, 13, 16, 13, 16, 13, 20, 21, 13,  9, 13,  9, 13,  9, 11, 10, 11, 10, 11, 10, 11, 10, 11,  7, 11,  7, 11,  7, 15, 13, 15, 13,
+ 15, 13, 15, 13, 15, 13, 15, 13, 19, 16, 12, 11, 12, 12, 10, 12, 10, 12, 10,  6, 12, 13, 12, 19, 18, 16, 13, 11, 10, 13, 13, 12,
+ 13,  6, 13,  4, 13, 13, 13, 13, 13,  6, 13, 17, 10, 17, 15, 17,  7, 13, 14, 12, 13, 12, 12, 15, 16,  8, 13, 13, 19, 16, 12, 16,
+ 15, 13, 12, 11, 12, 16, 12, 16, 16,  8, 12, 13, 10, 13,  7, 13, 13, 13, 11, 13, 10, 10, 13, 13,  7, 11, 11, 13, 11, 10, 13, 14,
+ 13, 10, 13, 10, 13, 16, 12, 16, 16,  7, 13, 13, 13, 16, 12, 15, 12, 13, 11,  8,  8,  6, 20, 21, 15, 13, 13, 15, 13, 13, 14, 12,
+ 14, 12, 18, 12, 16, 16, 13, 15, 19, 15, 16, 15, 13, 13, 11, 13, 16, 12, 15, 15, 22, 22, 15, 18, 14, 13, 23, 13, 12, 13, 12,  9,
+ 12, 12, 16, 10, 13, 13, 11, 12, 16, 13, 13, 13, 13, 10, 10, 11, 16, 11, 13, 13, 20, 20, 14, 17, 12, 10, 19, 12, 12, 13,  9, 10,
+ 10,  6,  6,  6, 18, 19, 13, 11, 11, 13, 10,  9, 19, 16, 19, 16, 19, 16, 12, 11, 11, 22, 22,  9,  4,  4,  5,  4,  8,  8,  8, 11,
+ 11,  8, 18, 26,  4,  8,  7,  7, 11,  3,  8, 12, 12, 17, 12, 18, 11, 22, 17, 16, 14, 17, 17, 17, 17, 13, 13, 15, 13, 12, 12, 15,
+  8, 12, 12, 12, 12, 13, 13, 13, 12,  6, 11, 11, 11,  7,  7,  7,  7,  7,  7,  7, 11, 22, 11, 22,  7,  6,  4, 12,  6,  4,  2,  0,
+  0, 22, 22,  6,  4, 13, 12, 18, 19, 20, 13, 12, 17,  7,  9, 20, 20, 16, 13, 16, 14,  0,  0,  0,  0,  0, 12, 16, 12, 13, 22, 17,
+ 14, 13, 20, 16, 13, 12, 19, 17, 14, 14, 20, 18, 12, 10, 16, 16, 16, 13, 13, 11, 13, 11, 26, 23, 17, 14, 21, 17, 22, 18, 13, 10,
+ 13, 12, 13, 13, 13, 22, 21, 16, 13, 13, 13, 13, 13, 11,  9, 14, 12, 18, 16, 12, 10, 14, 12, 13, 11, 13, 11, 14, 13, 15, 13, 17,
+ 15, 23, 19, 16, 14, 13, 10, 11, 10, 12, 10, 12, 10, 12, 11, 18, 15, 15, 13, 15, 13, 15, 13, 18, 14, 18, 14,  8, 18, 16, 15, 12,
+ 15, 12, 15, 13, 15, 13, 15, 13, 19, 16,  8, 13, 12, 13, 12, 19, 18, 12, 12, 15, 12, 15, 12, 18, 16, 12, 10, 12, 10, 16, 13, 16,
+ 13, 16, 13, 16, 13, 16, 13, 13, 10, 13, 11, 13, 11, 13, 11, 15, 13, 12,  9, 18, 17, 11,  9, 13, 12, 12, 11, 13, 13, 20, 19, 20,
+ 17, 13, 11, 22, 18, 22, 19, 16, 13, 15, 15, 12, 10, 15, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13,
+ 12, 13, 12, 13, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,  8,  6,  8,  6, 16, 13, 16, 13, 16,
+ 13, 16, 13, 16, 13, 16, 13, 16, 13, 16, 13, 16, 13, 16, 13, 16, 13, 16, 13, 15, 13, 15, 13, 16, 14, 16, 14, 16, 14, 16, 14, 16,
+ 14, 12, 11, 12, 11, 12, 11, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  5,  5, 23, 28, 14,  0, 12,  6,  6,  8, 15, 13, 19, 16,
+  4,  7,  7, 13, 13,  6,  7,  6,  9, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  6,  6, 13, 13, 13, 10, 20, 14, 14, 14, 16, 12, 11,
+ 16, 16,  8,  6, 13, 11, 20, 17, 17, 13, 17, 14, 12, 12, 16, 13, 20, 13, 12, 12,  7,  9,  7, 12,  9, 13, 12, 13, 11, 13, 12,  8,
+ 12, 14,  6,  6, 11,  6, 20, 14, 13, 13, 13,  9, 10,  8, 14, 11, 17, 11, 11, 10,  8, 12,  8, 13,  6,  6, 13, 13, 13, 13, 12, 11,
+ 13, 19,  8, 11, 13,  7, 19, 12, 10, 13,  8,  8, 13, 14, 15,  6,  5,  8,  8, 11, 17, 17, 17, 10, 14, 14, 14, 14, 14, 14, 20, 14,
+ 12, 12, 12, 12,  8,  8,  8,  8, 16, 17, 17, 17, 17, 17, 17, 13, 17, 16, 16, 16, 16, 12, 13, 14, 12, 12, 12, 12, 12, 12, 19, 11,
+ 12, 12, 12, 12,  6,  6,  6,  6, 13, 14, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 11, 13, 11, 14, 12, 14, 12, 14, 12, 14, 11,
+ 14, 11, 14, 11, 14, 11, 16, 13, 16, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 16, 12, 16, 12, 16, 12, 16, 12, 16, 14, 16, 14,
+  8,  6,  8,  6,  8,  6,  8,  6,  8,  6, 14, 12,  6,  6, 13, 11, 11, 11,  6, 11,  6, 11,  6, 11,  8, 11,  6, 17, 14, 17, 14, 17,
+ 14, 16, 17, 14, 17, 13, 17, 13, 17, 13, 20, 21, 14,  9, 14,  9, 14,  9, 12, 10, 12, 10, 12, 10, 12, 10, 12,  8, 12,  8, 12,  8,
+ 16, 14, 16, 14, 16, 14, 16, 14, 16, 14, 16, 14, 20, 17, 12, 11, 12, 12, 10, 12, 10, 12, 10,  7, 13, 14, 12, 20, 19, 17, 13, 12,
+ 10, 13, 13, 13, 13,  6, 13,  4, 13, 13, 13, 13, 14,  6, 14, 18, 11, 18, 15, 18,  8, 14, 14, 12, 13, 12, 12, 16, 17,  8, 13, 14,
+ 20, 17, 12, 17, 16, 13, 12, 12, 12, 18, 13, 18, 17,  8, 12, 13, 10, 14,  8, 14, 13, 14, 11, 13, 10, 10, 14, 13,  8, 11, 12, 14,
+ 11, 11, 13, 15, 13, 11, 13, 10, 14, 16, 12, 17, 16,  8, 14, 13, 14, 16, 12, 16, 12, 14, 12,  8,  8,  6, 21, 22, 16, 13, 13, 16,
+ 14, 13, 14, 12, 15, 12, 18, 13, 17, 17, 13, 15, 20, 16, 17, 16, 13, 14, 12, 13, 18, 13, 16, 15, 22, 22, 15, 19, 14, 14, 24, 14,
+ 12, 13, 13,  9, 13, 12, 16, 11, 14, 14, 11, 13, 17, 14, 13, 14, 13, 11, 10, 11, 16, 11, 14, 13, 20, 20, 16, 18, 13, 11, 19, 12,
+ 12, 14,  9, 11, 10,  6,  6,  6, 20, 21, 14, 11, 11, 14, 11,  9, 20, 17, 20, 17, 20, 17, 12, 11, 12, 23, 23,  9,  4,  4,  5,  4,
+  8,  8,  8, 10, 10, 10, 18, 27,  4,  8,  8,  8, 11,  3,  8, 13, 13, 17, 13, 18, 12, 23, 18, 17, 14, 17, 17, 17, 17, 13, 13, 16,
+ 14, 13, 13, 16,  9, 13, 13, 13, 13, 13, 14, 14, 13,  6, 12, 12, 12,  8,  8,  8,  8,  8,  8,  8, 12, 23, 12, 23,  8,  6,  4, 13,
+  6,  5,  2,  0,  0, 23, 23,  6,  4, 14, 12, 18, 20, 20, 14, 12, 18,  8,  9, 21, 21, 17, 13, 17, 15,  0,  0,  0,  0,  0, 12, 17,
+ 12, 14, 22, 18, 14, 13, 21, 16, 14, 12, 20, 17, 16, 14, 22, 19, 13, 11, 18, 17, 17, 13, 13, 11, 13, 11, 28, 24, 18, 15, 21, 18,
+ 22, 19, 14, 11, 14, 13, 13, 13, 13, 23, 22, 17, 14, 13, 13, 13, 13, 11,  9, 14, 13, 18, 16, 13, 11, 14, 12, 13, 11, 13, 11, 15,
+ 13, 16, 14, 18, 16, 24, 20, 17, 14, 14, 11, 12, 10, 12, 11, 12, 11, 13, 11, 19, 16, 15, 14, 15, 13, 16, 14, 19, 15, 19, 15,  8,
+ 18, 16, 15, 13, 15, 13, 16, 14, 16, 14, 15, 13, 20, 17,  8, 14, 12, 14, 12, 20, 19, 12, 12, 16, 12, 16, 12, 18, 16, 13, 11, 13,
+ 11, 17, 14, 17, 14, 17, 13, 17, 13, 17, 13, 14, 11, 13, 11, 13, 11, 13, 11, 15, 13, 12,  9, 19, 18, 11,  9, 14, 12, 13, 11, 13,
+ 13, 20, 20, 21, 19, 14, 12, 22, 20, 23, 21, 17, 13, 16, 15, 13, 11, 15, 13, 14, 12, 14, 12, 14, 12, 14, 12, 14, 12, 14, 12, 14,
+ 12, 14, 12, 14, 12, 14, 12, 14, 12, 14, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,  8,  6,  8,  6, 17,
+ 13, 17, 13, 17, 13, 17, 13, 17, 13, 17, 13, 17, 13, 17, 13, 17, 13, 17, 13, 17, 13, 17, 13, 16, 14, 16, 14, 17, 15, 17, 15, 17,
+ 15, 17, 15, 17, 15, 12, 11, 12, 11, 12, 11, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  5,  5, 24, 28, 14,  0, 12,  6,  6, 10,
+ 16, 13, 20, 17,  5,  7,  7, 13, 13,  6,  8,  6,  9, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  6,  6, 13, 13, 13, 10, 21, 15, 15,
+ 14, 16, 13, 12, 17, 17,  9,  7, 14, 12, 21, 18, 18, 14, 18, 14, 13, 13, 17, 14, 21, 13, 13, 13,  7,  9,  7, 13, 10, 14, 13, 14,
+ 11, 14, 13,  8, 13, 14,  6,  6, 12,  6, 22, 14, 14, 14, 14, 10, 11,  8, 14, 12, 18, 12, 12, 11,  9, 13,  9, 13,  6,  6, 13, 13,
+ 13, 13, 13, 12, 14, 20,  8, 12, 13,  8, 20, 12, 10, 13,  8,  8, 14, 14, 16,  6,  5,  8,  8, 12, 18, 18, 18, 10, 15, 15, 15, 15,
+ 15, 15, 20, 14, 13, 13, 13, 13,  9,  9,  9,  9, 16, 18, 18, 18, 18, 18, 18, 13, 18, 17, 17, 17, 17, 13, 14, 14, 13, 13, 13, 13,
+ 13, 13, 20, 11, 13, 13, 13, 13,  6,  6,  6,  6, 14, 14, 14, 14, 14, 14, 14, 13, 14, 14, 14, 14, 14, 12, 14, 12, 15, 13, 15, 13,
+ 15, 13, 14, 11, 14, 11, 14, 11, 14, 11, 16, 14, 16, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 17, 13, 17, 13, 17, 13, 17, 13,
+ 17, 14, 17, 14,  9,  6,  9,  6,  9,  6,  9,  6,  9,  6, 15, 12,  7,  6, 14, 12, 12, 12,  6, 12,  6, 12,  6, 12,  8, 12,  6, 18,
+ 14, 18, 14, 18, 14, 16, 18, 14, 18, 14, 18, 14, 18, 14, 21, 22, 14, 10, 14, 10, 14, 10, 13, 11, 13, 11, 13, 11, 13, 11, 13,  8,
+ 13,  8, 13,  8, 17, 14, 17, 14, 17, 14, 17, 14, 17, 14, 17, 14, 21, 18, 13, 12, 13, 13, 11, 13, 11, 13, 11,  7, 13, 15, 13, 20,
+ 20, 18, 14, 13, 11, 14, 14, 13, 14,  6, 14,  4, 14, 14, 14, 14, 15,  6, 14, 18, 11, 19, 16, 19,  8, 15, 15, 13, 14, 13, 13, 17,
+ 18,  9, 14, 15, 21, 18, 13, 18, 17, 14, 13, 13, 13, 19, 13, 19, 18,  9, 13, 14, 11, 14,  8, 14, 14, 14, 12, 14, 11, 11, 14, 14,
+  8, 12, 12, 14, 12, 11, 14, 15, 14, 11, 14, 11, 14, 16, 13, 18, 18,  8, 14, 14, 14, 18, 13, 17, 13, 14, 13,  9,  9,  7, 22, 23,
+ 17, 14, 14, 17, 15, 14, 15, 13, 16, 13, 20, 13, 18, 18, 14, 16, 21, 17, 18, 17, 14, 14, 13, 14, 19, 13, 17, 16, 23, 23, 16, 20,
+ 15, 14, 25, 14, 13, 14, 13, 10, 13, 13, 16, 11, 14, 14, 12, 13, 17, 14, 14, 14, 14, 11, 10, 12, 16, 12, 14, 14, 20, 20, 16, 18,
+ 13, 11, 20, 13, 13, 14, 10, 11, 11,  6,  6,  6, 20, 21, 14, 12, 12, 14, 12, 10, 21, 18, 21, 18, 21, 18, 13, 12, 12, 24, 24, 10,
+  4,  4,  5,  4,  9,  9,  9, 11, 11, 10, 18, 28,  5, 10,  8,  8, 12,  3,  8, 13, 13, 18, 13, 19, 12, 24, 19, 18, 15, 18, 18, 18,
+ 18, 14, 14, 17, 14, 13, 13, 17,  9, 13, 13, 13, 13, 15, 14, 14, 13,  6, 12, 12, 12,  8,  8,  8,  8,  8,  8,  8, 12, 24, 12, 24,
+  8,  6,  4, 13,  6,  5,  2,  0,  0, 24, 24,  6,  4, 14, 13, 20, 21, 22, 15, 13, 19,  8, 10, 22, 22, 18, 14, 17, 15,  0,  0,  0,
+  0,  0, 13, 18, 13, 14, 23, 19, 15, 14, 21, 17, 15, 13, 21, 18, 17, 14, 23, 20, 13, 11, 19, 18, 18, 14, 14, 12, 14, 12, 28, 25,
+ 19, 15, 22, 19, 23, 19, 14, 11, 15, 13, 14, 14, 14, 24, 23, 18, 14, 14, 14, 14, 14, 12, 10, 15, 13, 20, 16, 13, 11, 15, 13, 14,
+ 12, 14, 12, 16, 14, 17, 14, 18, 16, 25, 21, 18, 15, 14, 11, 13, 10, 13, 12, 13, 12, 13, 12, 20, 17, 16, 14, 16, 14, 17, 14, 19,
+ 15, 19, 15,  9, 20, 16, 16, 13, 16, 13, 17, 14, 17, 14, 16, 14, 21, 17,  9, 15, 13, 15, 13, 20, 20, 13, 13, 17, 13, 17, 13, 20,
+ 16, 13, 11, 13, 11, 18, 14, 18, 14, 18, 14, 18, 14, 18, 14, 14, 11, 14, 12, 14, 12, 14, 12, 16, 14, 13, 10, 20, 18, 12, 10, 14,
+ 13, 13, 12, 14, 14, 21, 21, 21, 19, 13, 12, 23, 20, 24, 21, 17, 14, 17, 15, 13, 11, 16, 13, 15, 13, 15, 13, 15, 13, 15, 13, 15,
+ 13, 15, 13, 15, 13, 15, 13, 15, 13, 15, 13, 15, 13, 15, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  9,
+  6,  9,  6, 18, 14, 18, 14, 18, 14, 18, 14, 18, 14, 18, 14, 18, 14, 18, 14, 18, 14, 18, 14, 18, 14, 18, 14, 17, 14, 17, 14, 17,
+ 15, 17, 15, 17, 15, 17, 15, 17, 15, 13, 12, 13, 12, 13, 12, 14,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  5,  5,  0,  0,  0,  3,
+  0,  0,  0,  3,  0,  0,  0, 28,  0,  1,  0,  0,  0,  0,  2,216,  0,  3,  0,  1,  0,  0,  4,226,  0,  4,  2,188,  0,  0,  0,144,
+  0,128,  0,  6,  0, 16,  0,126,  1,127,  1,146,  1,161,  1,176,  1,240,  1,255,  2, 25,  2,188,  2,199,  2,201,  2,221,  2,243,
+  3,  1,  3,  3,  3,  9,  3, 15,  3, 35,  3,138,  3,140,  3,161,  3,206,  3,210,  3,214,  4, 13,  4, 79,  4, 95,  4,134,  4,145,
+  5, 19, 30,  1, 30, 63, 30,133, 30,241, 30,249, 31, 77, 32, 11, 32, 21, 32, 30, 32, 34, 32, 38, 32, 48, 32, 51, 32, 58, 32, 60,
+ 32, 68, 32,127, 32,164, 32,167, 32,172, 33,  5, 33, 19, 33, 22, 33, 34, 33, 38, 33, 46, 33, 94, 34,  2, 34,  6, 34, 15, 34, 18,
+ 34, 26, 34, 30, 34, 43, 34, 72, 34, 96, 34,101, 37,202,251,  4,254,255,255,253,255,255,  0,  0,  0, 32,  0,160,  1,146,  1,160,
+  1,175,  1,240,  1,250,  2, 24,  2,188,  2,198,  2,201,  2,216,  2,243,  3,  0,  3,  3,  3,  9,  3, 15,  3, 35,  3,132,  3,140,
+  3,142,  3,163,  3,209,  3,214,  4,  0,  4, 14,  4, 80,  4, 96,  4,136,  4,146, 30,  0, 30, 62, 30,128, 30,160, 30,242, 31, 77,
+ 32,  0, 32, 19, 32, 23, 32, 32, 32, 38, 32, 48, 32, 50, 32, 57, 32, 60, 32, 68, 32,127, 32,163, 32,167, 32,171, 33,  5, 33, 19,
+ 33, 22, 33, 34, 33, 38, 33, 46, 33, 91, 34,  2, 34,  6, 34, 15, 34, 17, 34, 26, 34, 30, 34, 43, 34, 72, 34, 96, 34,100, 37,202,
+251,  1,254,255,255,252,255,255,255,227,255,194,255,176,  0,191,  0,178,  0, 97,255, 73,255, 49,255,150,254,133,254,132,254,118,
+255,104,255, 99,255, 98,255, 93,  0,103,255, 68,253,208,253,207,253,206,253,205,254,130,254,127,  0,  0,253,154,  0,  0,254, 12,
+  0,  0,254,  9,228, 88,228, 24,227,122,228,125,  0,  0,227, 13,226, 66,225,239,225,238,225,237,225,234,225,225,225,224,225,219,
+225,218,225,211,225,153,225,118,225,116,  0,  0,225, 24,225, 11,225,  9,224,254,224,251,224,244,224,200,224, 37,224, 34,224, 26,
+224, 25,224, 18,224, 15,224,  3,223,231,223,208,223,205,220,105,  0,  0,  3, 79,  2, 83,  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,  3,  0,  0,  0,  3,  0,  0,  0, 28,
-  0,  1,  0,  0,  0,  0,  2,132,  0,  3,  0,  1,  0,  0,  0, 28,  0,  4,  2,104,  0,  0,  0,150,  0,128,  0,  6,  0, 22,  0,  0,
-  0,126,  2, 65,  2, 89,  2, 98,  2,112,  2,117,  2,146,  2,233,  2,238,  2,243,  2,247,  3, 78,  3, 83,  3, 88,  3, 93,  3, 98,
-  3,117,  3,122,  3,126,  3,138,  3,140,  3,161,  3,206,  4,134,  4,206,  4,249,  5, 15,  5, 86,  5, 95,  5,135,  5,138,  6, 12,
- 30,155, 30,249, 31,191, 31,254, 32, 39, 32, 94, 32,113, 32,142, 32,175, 32,177, 32,181, 32,215, 33,  0, 33,  6, 33,  9, 33, 15,
- 33, 17, 33, 19, 33, 24, 33, 30, 33, 34, 33, 39, 33, 43, 33, 46, 33, 50, 33, 53, 33, 59, 33, 75, 33,131, 33,153, 33,181, 34, 30,
- 35, 25, 35, 37, 35, 42, 36,105, 38,177, 40,  0,251,  6,251, 23,255,253,255,255,  0,  0,  0,  0,  0, 32,  0,160,  2, 89,  2, 98,
-  2,112,  2,117,  2,146,  2,176,  2,236,  2,243,  2,247,  3,  0,  3, 81,  3, 87,  3, 92,  3, 96,  3,116,  3,122,  3,126,  3,132,
-  3,140,  3,142,  3,163,  3,208,  4,136,  4,208,  5,  0,  5, 49,  5, 89,  5, 97,  5,137,  6, 12, 30,  0, 30,160, 31,191, 31,253,
- 32,  0, 32, 48, 32,112, 32,116, 32,160, 32,177, 32,180, 32,214, 33,  0, 33,  3, 33,  9, 33, 14, 33, 17, 33, 19, 33, 22, 33, 28,
- 33, 32, 33, 38, 33, 42, 33, 46, 33, 50, 33, 52, 33, 59, 33, 75, 33, 83, 33,144, 33,181, 34, 18, 35, 24, 35, 37, 35, 41, 36, 96,
- 38,176, 40,  0,251,  0,251, 19,255,253,255,255,  0,  0,255,227,255,194,255,171,255,163,255,150,255,146,255,118,255, 89,255, 87,
-255, 83,255, 80,255, 72,255, 70,255, 67,255, 64,255, 62,255, 45,255, 41,255, 38,255, 33,255, 32,255, 31,255, 30,255, 29,255, 28,
-255, 27,255, 21,254,244,254,242,254,241,254,240,254,111,230,124,230,120,229,179,229,118,229,117,229,109,229, 92,229, 90,229, 73,
-229, 72,229, 70,229, 38,228,254,228,252,228,250,228,246,228,245,228,244,228,242,228,239,228,238,228,235,228,233,228,231,228,228,
-228,227,228,222,228,207,228,200,228,188,228,161,228, 69,227, 76,227, 65,227, 62,226,  9,223,195,222,117, 11,118, 11,106,  6,133,
-  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, 96,  0,  0,  0,120,  0,  0,  0,148,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,156,  0,  0,
+  0,  0,  0,  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,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,108,  0,  0,  0,  0,  0,  0,  2,104,  1,156,  1,157,  1,158,  1,159,  1,160,  1,161,  1,162,  1,163,  1,164,  1,165,  1,166,
+  1,167,  2,105,  2,106,  1,234,  1,235,  1,236,  1,237,  1,238,  1,239,  1,240,  1,241,  1,242,  1,243,  1,244,  1,245,  2,107,
+  1,246,  1,247,  2,147,  2,148,  2,149,  2,150,  2,151,  2,152,  2,153,  2,154,  1,248,  1,249,  2,  0,  2,  1,  3,111,  3,112,
+  3,113,  3,114,  3,115,  3,116,  3,117,  2, 28,  2, 52,  2, 53,  2, 93,  2, 94,  0,  6,  2, 10,  0,  0,  0,  0,  1,  0,  0,  1,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  2,  0,  2,  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,  1,  0,  0,  0,  0,  0,  3,
+  0,  4,  0,  5,  0,  6,  0,  7,  0,  8,  0,  9,  0, 10,  0, 11,  0, 12,  0, 13,  0, 14,  0, 15,  0, 16,  0, 17,  0, 18,  0, 19,
+  0, 20,  0, 21,  0, 22,  0, 23,  0, 24,  0, 25,  0, 26,  0, 27,  0, 28,  0, 29,  0, 30,  0, 31,  0, 32,  0, 33,  0, 34,  0, 35,
+  0, 36,  0, 37,  0, 38,  0, 39,  0, 40,  0, 41,  0, 42,  0, 43,  0, 44,  0, 45,  0, 46,  0, 47,  0, 48,  0, 49,  0, 50,  0, 51,
+  0, 52,  0, 53,  0, 54,  0, 55,  0, 56,  0, 57,  0, 58,  0, 59,  0, 60,  0, 61,  0, 62,  0, 63,  0, 64,  0, 65,  0, 66,  0, 67,
+  0, 68,  0, 69,  0, 70,  0, 71,  0, 72,  0, 73,  0, 74,  0, 75,  0, 76,  0, 77,  0, 78,  0, 79,  0, 80,  0, 81,  0, 82,  0, 83,
+  0, 84,  0, 85,  0, 86,  0, 87,  0, 88,  0, 89,  0, 90,  0, 91,  0, 92,  0, 93,  0, 94,  0, 95,  0, 96,  0, 97,  0,  0,  0,134,
+  0,135,  0,137,  0,139,  0,147,  0,152,  0,158,  0,163,  0,162,  0,164,  0,166,  0,165,  0,167,  0,169,  0,171,  0,170,  0,172,
+  0,173,  0,175,  0,174,  0,176,  0,177,  0,179,  0,181,  0,180,  0,182,  0,184,  0,183,  0,188,  0,187,  0,189,  0,190,  2, 13,
+  0,114,  0,100,  0,101,  0,105,  2, 15,  0,120,  0,161,  0,112,  0,107,  2, 32,  0,118,  0,106,  2, 48,  0,136,  0,154,  2, 45,
+  0,115,  2, 49,  2, 50,  0,103,  0,119,  2, 39,  2, 42,  2, 41,  1,141,  2, 46,  0,108,  0,124,  2, 33,  0,168,  0,186,  0,129,
+  0, 99,  0,110,  2, 44,  1, 66,  2, 47,  2, 40,  0,109,  0,125,  2, 16,  0, 98,  0,130,  0,133,  0,151,  1, 20,  1, 21,  2,  2,
+  2,  3,  2, 10,  2, 11,  2,  6,  2,  7,  0,185,  2, 51,  0,193,  1, 58,  2, 23,  2, 28,  2, 20,  2, 21,  2, 52,  2, 53,  2, 14,
+  0,121,  2,  8,  2, 12,  2, 17,  0,132,  0,140,  0,131,  0,141,  0,138,  0,143,  0,144,  0,145,  0,142,  0,149,  0,150,  0,  0,
+  0,148,  0,156,  0,157,  0,155,  0,243,  1, 75,  1, 82,  0,113,  1, 78,  1, 79,  1, 80,  0,122,  1, 83,  1, 81,  1, 76,  0,  4,
+  2,188,  0,  0,  0,144,  0,128,  0,  6,  0, 16,  0,126,  1,127,  1,146,  1,161,  1,176,  1,240,  1,255,  2, 25,  2,188,  2,199,
+  2,201,  2,221,  2,243,  3,  1,  3,  3,  3,  9,  3, 15,  3, 35,  3,138,  3,140,  3,161,  3,206,  3,210,  3,214,  4, 13,  4, 79,
+  4, 95,  4,134,  4,145,  5, 19, 30,  1, 30, 63, 30,133, 30,241, 30,249, 31, 77, 32, 11, 32, 21, 32, 30, 32, 34, 32, 38, 32, 48,
+ 32, 51, 32, 58, 32, 60, 32, 68, 32,127, 32,164, 32,167, 32,172, 33,  5, 33, 19, 33, 22, 33, 34, 33, 38, 33, 46, 33, 94, 34,  2,
+ 34,  6, 34, 15, 34, 18, 34, 26, 34, 30, 34, 43, 34, 72, 34, 96, 34,101, 37,202,251,  4,254,255,255,253,255,255,  0,  0,  0, 32,
+  0,160,  1,146,  1,160,  1,175,  1,240,  1,250,  2, 24,  2,188,  2,198,  2,201,  2,216,  2,243,  3,  0,  3,  3,  3,  9,  3, 15,
+  3, 35,  3,132,  3,140,  3,142,  3,163,  3,209,  3,214,  4,  0,  4, 14,  4, 80,  4, 96,  4,136,  4,146, 30,  0, 30, 62, 30,128,
+ 30,160, 30,242, 31, 77, 32,  0, 32, 19, 32, 23, 32, 32, 32, 38, 32, 48, 32, 50, 32, 57, 32, 60, 32, 68, 32,127, 32,163, 32,167,
+ 32,171, 33,  5, 33, 19, 33, 22, 33, 34, 33, 38, 33, 46, 33, 91, 34,  2, 34,  6, 34, 15, 34, 17, 34, 26, 34, 30, 34, 43, 34, 72,
+ 34, 96, 34,100, 37,202,251,  1,254,255,255,252,255,255,255,227,255,194,255,176,  0,191,  0,178,  0, 97,255, 73,255, 49,255,150,
+254,133,254,132,254,118,255,104,255, 99,255, 98,255, 93,  0,103,255, 68,253,208,253,207,253,206,253,205,254,130,254,127,  0,  0,
+253,154,  0,  0,254, 12,  0,  0,254,  9,228, 88,228, 24,227,122,228,125,  0,  0,227, 13,226, 66,225,239,225,238,225,237,225,234,
+225,225,225,224,225,219,225,218,225,211,225,153,225,118,225,116,  0,  0,225, 24,225, 11,225,  9,224,254,224,251,224,244,224,200,
+224, 37,224, 34,224, 26,224, 25,224, 18,224, 15,224,  3,223,231,223,208,223,205,220,105,  0,  0,  3, 79,  2, 83,  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, 96,  0,  0,  0,120,  0,  0,  0,148,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,156,  0,  0,  0,  0,  0,  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,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,108,  0,  0,  0,  0,  0,  0,  2,104,  1,156,  1,157,  1,158,  1,159,  1,160,  1,161,  1,162,  1,163,
+  1,164,  1,165,  1,166,  1,167,  2,105,  2,106,  1,234,  1,235,  1,236,  1,237,  1,238,  1,239,  1,240,  1,241,  1,242,  1,243,
+  1,244,  1,245,  2,107,  1,246,  1,247,  2,147,  2,148,  2,149,  2,150,  2,151,  2,152,  2,153,  2,154,  1,248,  1,249,  2,  0,
+  2,  1,  3,111,  3,112,  3,113,  3,114,  3,115,  3,116,  3,117,  2, 28,  2, 52,  2, 53,  2, 93,  2, 94,  0,  0, 64, 69, 89, 88,
+ 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54,
+ 53, 49, 48, 47, 46, 45, 44, 40, 39, 38, 37, 36, 35, 34, 33, 31, 24, 20, 17, 16, 15, 14, 13, 11, 10,  9,  8,  7,  6,  5,  4,  3,
+  2,  1,  0, 44, 69, 35, 70, 96, 32,176, 38, 96,176,  4, 38, 35, 72, 72, 45, 44, 69, 35, 70, 35, 97, 32,176, 38, 97,176,  4, 38,
+ 35, 72, 72, 45, 44, 69, 35, 70, 96,176, 32, 97, 32,176, 70, 96,176,  4, 38, 35, 72, 72, 45, 44, 69, 35, 70, 35, 97,176, 32, 96,
+ 32,176, 38, 97,176, 32, 97,176,  4, 38, 35, 72, 72, 45, 44, 69, 35, 70, 96,176, 64, 97, 32,176,102, 96,176,  4, 38, 35, 72, 72,
+ 45, 44, 69, 35, 70, 35, 97,176, 64, 96, 32,176, 38, 97,176, 64, 97,176,  4, 38, 35, 72, 72, 45, 44,  1, 16, 32, 60,  0, 60, 45,
+ 44, 32, 69, 35, 32,176,205, 68, 35, 32,184,  1, 90, 81, 88, 35, 32,176,141, 68, 35, 89, 32,176,237, 81, 88, 35, 32,176, 77, 68,
+ 35, 89, 32,176,  4, 38, 81, 88, 35, 32,176, 13, 68, 35, 89, 33, 33, 45, 44, 32, 32, 69, 24,104, 68, 32,176,  1, 96, 32, 69,176,
+ 70,118,104,138, 69, 96, 68, 45, 44,  1,177, 11, 10, 67, 35, 67,101, 10, 45, 44,  0,177, 10, 11, 67, 35, 67, 11, 45, 44,  0,176,
+ 40, 35,112,177,  1, 40, 62,  1,176, 40, 35,112,177,  2, 40, 69, 58,177,  2,  0,  8, 13, 45, 44, 32, 69,176,  3, 37, 69, 97,100,
+176, 80, 81, 88, 69, 68, 27, 33, 33, 89, 45, 44, 73,176, 14, 35, 68, 45, 44, 32, 69,176,  0, 67, 96, 68, 45, 44,  1,176,  6, 67,
+176,  7, 67,101, 10, 45, 44, 32,105,176, 64, 97,176,  0,139, 32,177, 44,192,138,140,184, 16,  0, 98, 96, 43, 12,100, 35,100, 97,
+ 92, 88,176,  3, 97, 89, 45, 44,138,  3, 69,138,138,135,176, 17, 43,176, 41, 35, 68,176, 41,122,228, 24, 45, 44, 69,101,176, 44,
+ 35, 68, 69,176, 43, 35, 68, 45, 44, 75, 82, 88, 69, 68, 27, 33, 33, 89, 45, 44, 75, 81, 88, 69, 68, 27, 33, 33, 89, 45, 44,  1,
+176,  5, 37, 16, 35, 32,138,245,  0,176,  1, 96, 35,237,236, 45, 44,  1,176,  5, 37, 16, 35, 32,138,245,  0,176,  1, 97, 35,237,
+236, 45, 44,  1,176,  6, 37, 16,245,  0,237,236, 45, 44, 70, 35, 70, 96,138,138, 70, 35, 32, 70,138, 96,138, 97,184,255,128, 98,
+ 35, 32, 16, 35,138,177, 12, 12,138,112, 69, 96, 32,176,  0, 80, 88,176,  1, 97,184,255,186,139, 27,176, 70,140, 89,176, 16, 96,
+104,  1, 58, 45, 44, 32, 69,176,  3, 37, 70, 82, 75,176, 19, 81, 91, 88,176,  2, 37, 70, 32,104, 97,176,  3, 37,176,  3, 37, 63,
+ 35, 33, 56, 27, 33, 17, 89, 45, 44, 32, 69,176,  3, 37, 70, 80, 88,176,  2, 37, 70, 32,104, 97,176,  3, 37,176,  3, 37, 63, 35,
+ 33, 56, 27, 33, 17, 89, 45, 44,  0,176,  7, 67,176,  6, 67, 11, 45, 44, 33, 33, 12,100, 35,100,139,184, 64,  0, 98, 45, 44, 33,
+176,128, 81, 88, 12,100, 35,100,139,184, 32,  0, 98, 27,178,  0, 64, 47, 43, 89,176,  2, 96, 45, 44, 33,176,192, 81, 88, 12,100,
+ 35,100,139,184, 21, 85, 98, 27,178,  0,128, 47, 43, 89,176,  2, 96, 45, 44, 12,100, 35,100,139,184, 64,  0, 98, 96, 35, 33, 45,
+ 44, 75, 83, 88,138,176,  4, 37, 73,100, 35, 69,105,176, 64,139, 97,176,128, 98,176, 32, 97,106,176, 14, 35, 68, 35, 16,176, 14,
+246, 27, 33, 35,138, 18, 17, 32, 57, 47, 89, 45, 44, 75, 83, 88, 32,176,  3, 37, 73,100,105, 32,176,  5, 38,176,  6, 37, 73,100,
+ 35, 97,176,128, 98,176, 32, 97,106,176, 14, 35, 68,176,  4, 38, 16,176, 14,246,138, 16,176, 14, 35, 68,176, 14,246,176, 14, 35,
+ 68,176, 14,237, 27,138,176,  4, 38, 17, 18, 32, 57, 35, 32, 57, 47, 47, 89, 45, 44, 69, 35, 69, 96, 35, 69, 96, 35, 69, 96, 35,
+118,104, 24,176,128, 98, 32, 45, 44,176, 72, 43, 45, 44, 32, 69,176,  0, 84, 88,176, 64, 68, 32, 69,176, 64, 97, 68, 27, 33, 33,
+ 89, 45, 44, 69,177, 48, 47, 69, 35, 69, 97, 96,176,  1, 96,105, 68, 45, 44, 75, 81, 88,176, 47, 35,112,176, 20, 35, 66, 27, 33,
+ 33, 89, 45, 44, 75, 81, 88, 32,176,  3, 37, 69,105, 83, 88, 68, 27, 33, 33, 89, 27, 33, 33, 89, 45, 44, 69,176, 20, 67,176,  0,
+ 96, 99,176,  1, 96,105, 68, 45, 44,176, 47, 69, 68, 45, 44, 69, 35, 32, 69,138, 96, 68, 45, 44, 69, 35, 69, 96, 68, 45, 44, 75,
+ 35, 81, 88,185,  0, 51,255,224,177, 52, 32, 27,179, 51,  0, 52,  0, 89, 68, 68, 45, 44,176, 22, 67, 88,176,  3, 38, 69,138, 88,
+100,102,176, 31, 96, 27,100,176, 32, 96,102, 32, 88, 27, 33,176, 64, 89,176,  1, 97, 89, 35, 88,101, 89,176, 41, 35, 68, 35, 16,
+176, 41,224, 27, 33, 33, 33, 33, 33, 89, 45, 44,176,  2, 67, 84, 88, 75, 83, 35, 75, 81, 90, 88, 56, 27, 33, 33, 89, 27, 33, 33,
+ 33, 33, 89, 45, 44,176, 22, 67, 88,176,  4, 37, 69,100,176, 32, 96,102, 32, 88, 27, 33,176, 64, 89,176,  1, 97, 35, 88, 27,101,
+ 89,176, 41, 35, 68,176,  5, 37,176,  8, 37,  8, 32, 88,  2, 27,  3, 89,176,  4, 37, 16,176,  5, 37, 32, 70,176,  4, 37, 35, 66,
+ 60,176,  4, 37,176,  7, 37,  8,176,  7, 37, 16,176,  6, 37, 32, 70,176,  4, 37,176,  1, 96, 35, 66, 60, 32, 88,  1, 27,  0, 89,
+176,  4, 37, 16,176,  5, 37,176, 41,224,176, 41, 32, 69,101, 68,176,  7, 37, 16,176,  6, 37,176, 41,224,176,  5, 37,176,  8, 37,
+  8, 32, 88,  2, 27,  3, 89,176,  5, 37,176,  3, 37, 67, 72,176,  4, 37,176,  7, 37,  8,176,  6, 37,176,  3, 37,176,  1, 96, 67,
+ 72, 27, 33, 89, 33, 33, 33, 33, 33, 33, 33, 45, 44,  2,176,  4, 37, 32, 32, 70,176,  4, 37, 35, 66,176,  5, 37,  8,176,  3, 37,
+ 69, 72, 33, 33, 33, 33, 45, 44,  2,176,  3, 37, 32,176,  4, 37,  8,176,  2, 37, 67, 72, 33, 33, 33, 45, 44, 69, 35, 32, 69, 24,
+ 32,176,  0, 80, 32, 88, 35,101, 35, 89, 35,104, 32,176, 64, 80, 88, 33,176, 64, 89, 35, 88,101, 89,138, 96, 68, 45, 44, 75, 83,
+ 35, 75, 81, 90, 88, 32, 69,138, 96, 68, 27, 33, 33, 89, 45, 44, 75, 84, 88, 32, 69,138, 96, 68, 27, 33, 33, 89, 45, 44, 75, 83,
+ 35, 75, 81, 90, 88, 56, 27, 33, 33, 89, 45, 44,176,  0, 33, 75, 84, 88, 56, 27, 33, 33, 89, 45, 44,176,  2, 67, 84, 88,176, 70,
+ 43, 27, 33, 33, 33, 33, 89, 45, 44,176,  2, 67, 84, 88,176, 71, 43, 27, 33, 33, 33, 89, 45, 44,176,  2, 67, 84, 88,176, 72, 43,
+ 27, 33, 33, 33, 33, 89, 45, 44,176,  2, 67, 84, 88,176, 73, 43, 27, 33, 33, 33, 89, 45, 44, 32,138,  8, 35, 75, 83,138, 75, 81,
+ 90, 88, 35, 56, 27, 33, 33, 89, 45, 44,  0,176,  2, 37, 73,176,  0, 83, 88, 32,176, 64, 56, 17, 27, 33, 89, 45, 44,  1, 70, 35,
+ 70, 96, 35, 70, 97, 35, 32, 16, 32, 70,138, 97,184,255,128, 98,138,177, 64, 64,138,112, 69, 96,104, 58, 45, 44, 32,138, 35, 73,
+100,138, 35, 83, 88, 60, 27, 33, 89, 45, 44, 75, 82, 88,125, 27,122, 89, 45, 44,176, 18,  0, 75,  1, 75, 84, 66, 45, 44,177,  2,
+  0, 66,177, 35,  1,136, 81,177, 64,  1,136, 83, 90, 88,185, 16,  0,  0, 32,136, 84, 88,178,  2,  1,  2, 67, 96, 66, 89,177, 36,
+  1,136, 81, 88,185, 32,  0,  0, 64,136, 84, 88,178,  2,  2,  2, 67, 96, 66,177, 36,  1,136, 84, 88,178,  2, 32,  2, 67, 96, 66,
+  0, 75,  1, 75, 82, 88,178,  2,  8,  2, 67, 96, 66, 89, 27,185, 64,  0,  0,128,136, 84, 88,178,  2,  4,  2, 67, 96, 66, 89,185,
+ 64,  0,  0,128, 99,184,  1,  0,136, 84, 88,178,  2,  8,  2, 67, 96, 66, 89,185, 64,  0,  1,  0, 99,184,  2,  0,136, 84, 88,178,
+  2, 16,  2, 67, 96, 66, 89,185, 64,  0,  2,  0, 99,184,  4,  0,136, 84, 88,178,  2, 64,  2, 67, 96, 66, 89, 89, 89, 89, 89, 45,
+ 44, 69, 24,104, 35, 75, 81, 88, 35, 32, 69, 32,100,176, 64, 80, 88,124, 89,104,138, 96, 89, 68, 45, 44,176,  0, 22,176,  2, 37,
+176,  2, 37,  1,176,  1, 35, 62,  0,176,  2, 35, 62,177,  1,  2,  6, 12,176, 10, 35,101, 66,176, 11, 35, 66,  1,176,  1, 35, 63,
+  0,176,  2, 35, 63,177,  1,  2,  6, 12,176,  6, 35,101, 66,176,  7, 35, 66,176,  1, 22,  1, 45, 44,122,138, 16, 69, 35,245, 24,
+ 45,  0,  0,  0, 64, 16,  9,248,  3,255, 31,143,247,159,247,  2,127,243,  1, 96,242,  1,184,255,232, 64, 43,235, 12, 16, 70,223,
+ 51,221, 85,222,255,220, 85, 48,221,  1,221,  1,  3, 85,220,  3,250, 31, 48,194,  1,111,192,239,192,  2,252,182, 24, 31, 48,183,
+  1, 96,183,128,183,  2,184,255,192, 64, 56,183, 15, 19, 70,231,177,  1, 31,175, 47,175, 63,175,  3, 79,175, 95,175,111,175,  3,
+ 64,175, 15, 19, 70,172, 81, 24, 31, 31,156, 95,156,  2,224,155,  1,  3, 43,154,  1, 31,154,  1,144,154,160,154,  2,115,154,131,
+154,  2,  5,184,255,234, 64, 25,154,  9, 11, 70,175,151,191,151,  2,  3, 43,150,  1, 31,150,  1,159,150,175,150,  2,124,150,  1,
+  5,184,255,234, 64,133,150,  9, 11, 70, 47,146, 63,146, 79,146,  3, 64,146, 12, 15, 70, 47,145,  1,159,145,  1,135,134, 24, 31,
+ 64,124, 80,124,  2,  3, 16,116, 32,116, 48,116,  3,  2,116,  1,242,116,  1, 10,111,  1,255,111,  1,169,111,  1,151,111,  1,117,
+111,133,111,  2, 75,111,  1, 10,110,  1,255,110,  1,169,110,  1,151,110,  1, 75,110,  1,  6, 26,  1, 24, 85, 25, 19,255, 31,  7,
+  4,255, 31,  6,  3,255, 31, 63,103,  1, 31,103, 47,103, 63,103,255,103,  4, 64,102, 80,102,160,102,176,102,  4, 63,101,  1, 15,
+101,175,101,  2,  5,160,100,224,100,  2,  3,184,255,192, 64, 79,100,  6, 10, 70, 97, 95, 43, 31, 96, 95, 71, 31, 95, 80, 34, 31,
+247, 91,  1,236, 91,  1, 84, 91,132, 91,  2, 73, 91,  1, 59, 91,  1,249, 90,  1,239, 90,  1,107, 90,  1, 75, 90,  1, 59, 90,  1,
+  6, 19, 51, 18, 85,  5,  1,  3, 85,  4, 51,  3, 85, 31,  3,  1, 15,  3, 63,  3,175,  3,  3, 15, 87, 31, 87, 47, 87,  3,  3,184,
+255,192,179, 86, 18, 21, 70,184,255,224,179, 86,  7, 11, 70,184,255,192,179, 84, 18, 21, 70,184,255,192, 64,109, 84,  6, 11, 70,
+ 82, 80, 43, 31, 63, 80, 79, 80, 95, 80,  3,250, 72,  1,239, 72,  1,135, 72,  1,101, 72,  1, 86, 72,  1, 58, 72,  1,250, 71,  1,
+239, 71,  1,135, 71,  1, 59, 71,  1,  6, 28, 27,255, 31, 22, 51, 21, 85, 17,  1, 15, 85, 16, 51, 15, 85,  2,  1,  0, 85,  1, 71,
+  0, 85,251,250, 43, 31,250, 27, 18, 31, 15, 15,  1, 31, 15,207, 15,  2, 15, 15,255, 15,  2,  6,111,  0,127,  0,175,  0,239,  0,
+  4, 16,  0,  1,128, 22,  1,  5,  1,184,  1,144,177, 84, 83, 43, 43, 75,184,  7,255, 82, 75,176,  6, 80, 91,176,  1,136,176, 37,
+ 83,176,  1,136,176, 64, 81, 90,176,  6,136,176,  0, 85, 90, 91, 88,177,  1,  1,142, 89,133,141,141,  0, 66, 29, 75,176, 50, 83,
+ 88,176, 96, 29, 89, 75,176,100, 83, 88,176, 64, 29, 89, 75,176,128, 83, 88,176, 16, 29,177, 22,  0, 66, 89,115,115, 94,115,116,
+117, 43, 43, 43, 43, 43, 43, 43, 43,  1, 95,115,115,115,115,115,115,115,115,115,115,  0,115, 43,  1, 43, 43, 43, 43, 95,115,  0,
+115,116, 43, 43, 43,  1, 95,115,115,115,115,115,115,115,115,115,115,  0, 43, 43, 43,  1, 43, 95,115, 94,115,116,115,115,116,  0,
+ 43, 43, 43, 43,  1, 95,115,115,115,115,116,115,115,115,115,115,116,  0,115,116,116,  1, 95,115, 43,  0,115,116, 43,115,  1, 43,
+ 95,115,115,116,116, 95,115, 43, 95,115,115,116,116,  0, 95,115,115,  1, 43,  0, 43,115,116,  1,115,  0, 43,115,116, 43,  1,115,
+  0,115, 43, 43,115, 43, 43,  1, 43,115,115,115,  0, 43, 24, 94,  6, 20,  0, 11,  0, 78,  5,182,  0, 23,  0,117,  5,182,  5,205,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4, 74,  0, 20,  0,143,  0,  0,255,236,  0,  0,  0,  0,255,236,  0,  0,
+  0,  0,255,236,  0,  0,254, 20,254,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  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,  6,  0,  0,  1,  0,
-  0,  0,  0,  0,  0,  0,  1,  2,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  3,  4,
-  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,  0,134,135,
-137,139,147,152,158,163,162,164,166,165,167,169,171,170,172,173,175,174,176,177,179,181,180,182,184,183,188,187,189,190,  0,114,
-100,101,105,  0,120,161,112,107,  0,118,106,  0,136,154,  0,115,  0,  0,103,119,  0,  0,  0,  0,  0,108,124,  0,168,186,129, 99,
-110,  0,  0,  0,  0,109,125,  0, 98,130,133,151,  0,  0,  0,  0,  0,  0,  0,  0,185,  0,193,  0,  0,  0,  0,  0,  0,  0,  0,121,
-  0,  0,  0,132,140,131,141,138,143,144,145,142,149,150,  0,148,156,157,155,  0,  0,  0,113,  0,  0,  0,122,  0,  0,  0,  0,  0,
-183,  7,  6,  5,  4,  3,  2,  1,  0, 44, 32, 16,176,  2, 37, 73,100,176, 64, 81, 88, 32,200, 89, 33, 45, 44,176,  2, 37, 73,100,
-176, 64, 81, 88, 32,200, 89, 33, 45, 44, 32, 16,  7, 32,176,  0, 80,176, 13,121, 32,184,255,255, 80, 88,  4, 27,  5, 89,176,  5,
- 28,176,  3, 37,  8,176,  4, 37, 35,225, 32,176,  0, 80,176, 13,121, 32,184,255,255, 80, 88,  4, 27,  5, 89,176,  5, 28,176,  3,
- 37,  8,225, 45, 44, 75, 80, 88, 32,176,253, 69, 68, 89, 33, 45, 44,176,  2, 37, 69, 96, 68, 45, 44, 75, 83, 88,176,  2, 37,176,
-  2, 37, 69, 68, 89, 33, 33, 45, 44, 69, 68, 45, 44,176,  2, 37,176,  2, 37, 73,176,  5, 37,176,  5, 37, 73, 96,176, 32, 99,104,
- 32,138, 16,138, 35, 58,138, 16,101, 58, 45,  0,184,  2,128, 64,255,251,254,  3,250, 20,  3,249, 37,  3,248, 50,  3,247,150,  3,
-246, 14,  3,245,254,  3,244,254,  3,243, 37,  3,242, 14,  3,241,150,  3,240, 37,  3,239,138, 65,  5,239,254,  3,238,150,  3,237,
-150,  3,236,250,  3,235,250,  3,234,254,  3,233, 58,  3,232, 66,  3,231,254,  3,230, 50,  3,229,228, 83,  5,229,150,  3,228,138,
- 65,  5,228, 83,  3,227,226, 47,  5,227,250,  3,226, 47,  3,225,254,  3,224,254,  3,223, 50,  3,222, 20,  3,221,150,  3,220,254,
-  3,219, 18,  3,218,125,  3,217,187,  3,216,254,  3,214,138, 65,  5,214,125,  3,213,212, 71,  5,213,125,  3,212, 71,  3,211,210,
- 27,  5,211,254,  3,210, 27,  3,209,254,  3,208,254,  3,207,254,  3,206,254,  3,205,150,  3,204,203, 30,  5,204,254,  3,203, 30,
-  3,202, 50,  3,201,254,  3,198,133, 17,  5,198, 28,  3,197, 22,  3,196,254,  3,195,254,  3,194,254,  3,193,254,  3,192,254,  3,
-191,254,  3,190,254,  3,189,254,  3,188,254,  3,187,254,  3,186, 17,  3,185,134, 37,  5,185,254,  3,184,183,187,  5,184,254,  3,
-183,182, 93,  5,183,187,  3,183,128,  4,182,181, 37,  5,182, 93, 64,255,  3,182, 64,  4,181, 37,  3,180,254,  3,179,150,  3,178,
-254,  3,177,254,  3,176,254,  3,175,254,  3,174,100,  3,173, 14,  3,172,171, 37,  5,172,100,  3,171,170, 18,  5,171, 37,  3,170,
- 18,  3,169,138, 65,  5,169,250,  3,168,254,  3,167,254,  3,166,254,  3,165, 18,  3,164,254,  3,163,162, 14,  5,163, 50,  3,162,
- 14,  3,161,100,  3,160,138, 65,  5,160,150,  3,159,254,  3,158,157, 12,  5,158,254,  3,157, 12,  3,156,155, 25,  5,156,100,  3,
-155,154, 16,  5,155, 25,  3,154, 16,  3,153, 10,  3,152,254,  3,151,150, 13,  5,151,254,  3,150, 13,  3,149,138, 65,  5,149,150,
-  3,148,147, 14,  5,148, 40,  3,147, 14,  3,146,250,  3,145,144,187,  5,145,254,  3,144,143, 93,  5,144,187,  3,144,128,  4,143,
-142, 37,  5,143, 93,  3,143, 64,  4,142, 37,  3,141,254,  3,140,139, 46,  5,140,254,  3,139, 46,  3,138,134, 37,  5,138, 65,  3,
-137,136, 11,  5,137, 20,  3,136, 11,  3,135,134, 37,  5,135,100,  3,134,133, 17,  5,134, 37,  3,133, 17,  3,132,254,  3,131,130,
- 17,  5,131,254,  3,130, 17,  3,129,254,  3,128,254,  3,127,254,  3, 64,255,126,125,125,  5,126,254,  3,125,125,  3,124,100,  3,
-123, 84, 21,  5,123, 37,  3,122,254,  3,121,254,  3,120, 14,  3,119, 12,  3,118, 10,  3,117,254,  3,116,250,  3,115,250,  3,114,
-250,  3,113,250,  3,112,254,  3,111,254,  3,110,254,  3,108, 33,  3,107,254,  3,106, 17, 66,  5,106, 83,  3,105,254,  3,104,125,
-  3,103, 17, 66,  5,102,254,  3,101,254,  3,100,254,  3, 99,254,  3, 98,254,  3, 97, 58,  3, 96,250,  3, 94, 12,  3, 93,254,  3,
- 91,254,  3, 90,254,  3, 89, 88, 10,  5, 89,250,  3, 88, 10,  3, 87, 22, 25,  5, 87, 50,  3, 86,254,  3, 85, 84, 21,  5, 85, 66,
-  3, 84, 21,  3, 83,  1, 16,  5, 83, 24,  3, 82, 20,  3, 81, 74, 19,  5, 81,254,  3, 80, 11,  3, 79,254,  3, 78, 77, 16,  5, 78,
-254,  3, 77, 16,  3, 76,254,  3, 75, 74, 19,  5, 75,254,  3, 74, 73, 16,  5, 74, 19,  3, 73, 29, 13,  5, 73, 16,  3, 72, 13,  3,
- 71,254,  3, 70,150,  3, 69,150,  3, 68,254,  3, 67,  2, 45,  5, 67,250,  3, 66,187,  3, 65, 75,  3, 64,254,  3, 63,254,  3, 62,
- 61, 18,  5, 62, 20,  3, 61, 60, 15,  5, 61, 18,  3, 60, 59, 13,  5, 60, 64,255, 15,  3, 59, 13,  3, 58,254,  3, 57,254,  3, 56,
- 55, 20,  5, 56,250,  3, 55, 54, 16,  5, 55, 20,  3, 54, 53, 11,  5, 54, 16,  3, 53, 11,  3, 52, 30,  3, 51, 13,  3, 50, 49, 11,
-  5, 50,254,  3, 49, 11,  3, 48, 47, 11,  5, 48, 13,  3, 47, 11,  3, 46, 45,  9,  5, 46, 16,  3, 45,  9,  3, 44, 50,  3, 43, 42,
- 37,  5, 43,100,  3, 42, 41, 18,  5, 42, 37,  3, 41, 18,  3, 40, 39, 37,  5, 40, 65,  3, 39, 37,  3, 38, 37, 11,  5, 38, 15,  3,
- 37, 11,  3, 36,254,  3, 35,254,  3, 34, 15,  3, 33,  1, 16,  5, 33, 18,  3, 32,100,  3, 31,250,  3, 30, 29, 13,  5, 30,100,  3,
- 29, 13,  3, 28, 17, 66,  5, 28,254,  3, 27,250,  3, 26, 66,  3, 25, 17, 66,  5, 25,254,  3, 24,100,  3, 23, 22, 25,  5, 23,254,
-  3, 22,  1, 16,  5, 22, 25,  3, 21,254,  3, 20,254,  3, 19,254,  3, 18, 17, 66,  5, 18,254,  3, 17,  2, 45,  5, 17, 66,  3, 16,
-125,  3, 15,100,  3, 14,254,  3, 13, 12, 22,  5, 13,254,  3, 12,  1, 16,  5, 12, 22,  3, 11,254,  3, 10, 16,  3,  9,254,  3,  8,
-  2, 45,  5,  8,254,  3,  7, 20,  3,  6,100,  3,  4,  1, 16,  5,  4,254,  3, 64, 21,  3,  2, 45,  5,  3,254,  3,  2,  1, 16,  5,
-  2, 45,  3,  1, 16,  3,  0,254,  3,  1,184,  1,100,133,141,  1, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,  0, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 29,  1, 53,  0,184,  0,203,  0,203,  0,193,  0,170,
-  0,156,  1,166,  0,184,  0,102,  0,  0,  0,113,  0,203,  0,160,  2,178,  0,133,  0,117,  0,184,  0,195,  1,203,  1,137,  2, 45,
-  0,203,  0,166,  0,240,  0,211,  0,170,  0,135,  0,203,  3,170,  4,  0,  1, 74,  0, 51,  0,203,  0,  0,  0,217,  5,  2,  0,244,
-  1, 84,  0,180,  0,156,  1, 57,  1, 20,  1, 57,  7,  6,  4,  0,  4, 78,  4,180,  4, 82,  4,184,  4,231,  4,205,  0, 55,  4,115,
-  4,205,  4, 96,  4,115,  1, 51,  3,162,  5, 86,  5,166,  5, 86,  5, 57,  3,197,  2, 18,  0,201,  0, 31,  0,184,  1,223,  0,115,
-  0,186,  3,233,  3, 51,  3,188,  4, 68,  4, 14,  0,223,  3,205,  3,170,  0,229,  3,170,  4,  4,  0,  0,  0,203,  0,143,  0,164,
-  0,123,  0,184,  0, 20,  1,111,  0,127,  2,123,  2, 82,  0,143,  0,199,  5,205,  0,154,  0,154,  0,111,  0,203,  0,205,  1,158,
-  1,211,  0,240,  0,186,  1,131,  0,213,  0,152,  3,  4,  2, 72,  0,158,  1,213,  0,193,  0,203,  0,246,  0,131,  3, 84,  2,127,
-  0,  0,  3, 51,  2,102,  0,211,  0,199,  0,164,  0,205,  0,143,  0,154,  0,115,  4,  0,  5,213,  1, 10,  0,254,  2, 43,  0,164,
-  0,180,  0,156,  0,  0,  0, 98,  0,156,  0,  0,  0, 29,  3, 45,  5,213,  5,213,  5,213,  5,240,  0,127,  0,123,  0, 84,  0,164,
-  6,184,  6, 20,  7, 35,  1,211,  0,184,  0,203,  0,166,  1,195,  1,236,  6,147,  0,160,  0,211,  3, 92,  3,113,  3,219,  1,133,
-  4, 35,  4,168,  4, 72,  0,143,  1, 57,  1, 20,  1, 57,  3, 96,  0,143,  5,213,  1,154,  6, 20,  7, 35,  6,102,  1,121,  4, 96,
-  4, 96,  4, 96,  4,123,  0,156,  0,  0,  2,119,  4, 96,  1,170,  0,233,  4, 96,  7, 98,  0,123,  0,197,  0,127,  2,123,  0,  0,
-  0,180,  2, 82,  5,205,  0,102,  0,188,  0,102,  0,119,  6, 16,  0,205,  1, 59,  1,133,  3,137,  0,143,  0,123,  0,  0,  0, 29,
-  0,205,  7, 74,  4, 47,  0,156,  0,156,  0,  0,  7,125,  0,111,  0,  0,  0,111,  3, 53,  0,106,  0,111,  0,123,  0,174,  0,178,
-  0, 45,  3,150,  0,143,  2,123,  0,246,  0,131,  3, 84,  6, 55,  5,246,  0,143,  0,156,  4,225,  2,102,  0,143,  1,141,  2,246,
-  0,205,  3, 68,  0, 41,  0,102,  4,238,  0,115,  0,  0, 20,  0,  0,150,  0,  0,  0,  0,  0, 34,  0, 34,  0, 34,  0, 34,  0, 84,
-  0,138,  0,246,  1,162,  2, 54,  3,106,  3,148,  3,204,  3,248,  4, 70,  4,112,  4,140,  4,162,  4,182,  4,220,  5, 30,  5, 86,
-  5,212,  6, 72,  6,166,  7,  6,  7,114,  7,184,  8, 34,  8,140,  8,172,  8,212,  9, 16,  9, 50,  9,110,  9,218, 10,154, 11, 20,
- 11,108, 11,184, 11,248, 12, 40, 12, 82, 12,166, 12,212, 12,248, 13, 48, 13,196, 13,230, 14,100, 14,184, 14,254, 15, 62, 15,164,
- 16, 46, 16,170, 16,226, 17, 36, 17,148, 18,114, 18,196, 19, 38, 19,134, 19,182, 19,220, 20,  6, 20, 40, 20, 62, 20,102, 20,252,
- 21, 72, 21,148, 21,224, 22, 74, 22,150, 22,250, 23, 54, 23, 94, 23,156, 24, 20, 24, 50, 24,148, 24,208, 25, 34, 25,114, 25,194,
- 25,250, 26,170, 26,232, 27, 36, 27,182, 28,200, 29,138, 30,112, 30,214, 31, 68, 31, 92, 31,210, 32, 20, 32, 20, 32, 92, 32,194,
- 33, 30, 33,170, 34, 60, 34, 96, 35,  4, 35, 96, 35,242, 36, 96, 36,198, 36,226, 36,248, 37,158, 37,196, 38,  0, 38, 56, 38,136,
- 38,230, 39, 14, 39,104, 39,150, 39,172, 39,220, 40,  8, 40, 76, 40,180, 40,196, 40,212, 40,228, 41, 96, 41,108, 41,120, 41,142,
- 41,166, 41,190, 42, 94, 42,202, 42,214, 42,226, 42,238, 43,  0, 43, 18, 43, 30, 43, 42, 43, 60, 43, 78, 43,180, 43,204, 43,216,
- 43,228, 43,250, 44, 20, 44, 44, 44,144, 45, 44, 45, 56, 45, 68, 45, 92, 45,120, 45,132, 45,200, 46, 92, 46,110, 46,128, 46,144,
- 46,166, 46,194, 46,226, 47,192, 47,204, 47,216, 47,228, 47,246, 48,  8, 48, 20, 48, 32, 48, 50, 48, 68, 49, 28, 49, 40, 49, 52,
- 49, 64, 49, 80, 49,102, 49,124, 49,170, 50,100, 50,112, 50,124, 50,140, 50,164, 50,176, 51,  0, 51, 24, 51, 46, 51, 66, 51, 88,
- 51,104, 51,116, 51,128, 51,140, 51,152, 51,170, 51,182, 51,194, 51,206, 51,224, 51,236, 51,248, 52, 12, 52, 20, 52,114, 52,126,
- 52,144, 52,162, 52,180, 52,192, 52,204, 52,216, 52,228, 52,246, 53, 12, 53, 30, 53, 48, 53, 60, 53, 72, 53, 90, 53,102, 53,114,
- 53,126, 53,150, 53,184, 53,252, 54, 70, 54, 88, 54,106, 54,124, 54,142, 54,160, 54,178, 54,190, 54,202, 54,226, 55,  0, 55, 18,
- 55, 36, 55, 54, 55, 72, 55, 84, 55, 96, 55,216, 55,228, 56,  0, 56, 12, 56, 30, 56, 42, 56, 60, 56, 72, 56, 98, 56,160, 56,232,
- 56,250, 57, 12, 57, 24, 57, 36, 57, 60, 57, 82, 57, 94, 57,166, 57,244, 58, 10, 58, 26, 58, 48, 58, 64, 58, 76, 58, 88, 58,168,
- 59, 60, 59, 72, 59, 84, 59, 96, 59,108, 59,126, 59,146, 59,158, 59,170, 59,190, 59,208, 59,220, 59,232, 59,252, 60, 14, 60, 26,
- 60, 38, 60, 60, 60, 78, 60,144, 60,220, 60,242, 61,  4, 61, 28, 61, 46, 61, 68, 61, 86, 61,104, 61,122, 61,134, 61,146, 61,158,
- 61,170, 61,188, 61,206, 61,224, 61,240, 62,  2, 62, 14, 62, 26, 62, 38, 62, 50, 62, 62, 62, 82, 62,126, 62,228, 63, 72, 63, 80,
- 63,170, 63,240, 64, 68, 64,140, 64,202, 65,  0, 65,  8, 65, 82, 65,144, 65,192, 66,  8, 66, 54, 66,142, 66,234, 67, 42, 67,134,
- 67,234, 68,116, 68,212, 69,  2, 69, 58, 69, 98, 69,230, 70, 22, 70, 58, 70,112, 70,216, 70,224, 71, 48, 71, 60, 71, 72, 71,130,
- 71,184, 72,  4, 72,102, 72,164, 72,226, 73,134, 73,142, 73,196, 73,240, 74, 56, 74,134, 74,204, 74,216, 74,228, 75, 58, 75,106,
- 75,142, 75,186, 75,222, 76,  2, 76, 62, 76,122, 76,180, 76,234, 77, 32, 77, 96, 77,156, 77,214, 78,  0, 78, 14, 78, 26, 78, 60,
- 78, 68, 78, 80, 78, 92, 78,104, 78,116, 78,128, 78,140, 78,152, 78,164, 78,176, 78,192, 78,208, 78,228, 78,248, 79,  4, 79, 20,
- 79, 36, 79, 54, 79, 66, 79, 78, 79, 90, 79,102, 79,114, 79,126, 79,138, 79,150, 79,158, 79,170, 79,182, 79,194, 79,206, 79,218,
- 79,230, 80, 38, 80,118, 80,140, 80,152, 80,164, 80,198, 80,210, 80,222, 80,234, 80,246, 81,  2, 81, 14, 81, 34, 81, 46, 81, 58,
- 81, 70, 81, 84, 81, 96, 81,146, 81,190, 81,202, 81,214, 81,226, 81,238, 81,250, 82,  6, 82, 18, 82, 30, 82, 42, 82, 54, 82, 66,
- 82, 78, 82, 90, 82,102, 82,114, 82,126, 82,138, 82,150, 82,162, 82,174, 82,186, 82,198, 82,210, 82,222, 82,234, 82,246, 83,  2,
- 83, 14, 83, 26, 83, 38, 83, 50, 83, 62, 83, 74, 83, 86, 83, 98, 83,110, 83,186, 84,  8, 84, 20, 84, 54, 84, 94, 84,176, 85, 10,
- 85, 92, 85,130, 85,168, 85,180, 85,192, 85,204, 85,216, 85,228, 85,240, 85,252, 86,  8, 86, 20, 86, 32, 86, 44, 86, 56, 86, 68,
- 86, 80, 86,122, 86,188, 86,240, 87, 34, 87,112, 87,190, 87,246, 88, 62, 88,128, 88,154, 88,194, 89, 22, 89, 66, 89,108, 89,108,
- 89,108, 89,108, 89,108, 89,108, 89,166, 89,238, 90, 30, 90, 78, 90,116, 90,166, 90,220, 90,248, 91, 26, 91, 34, 91, 42, 91, 50,
- 91, 58, 91, 76, 91,104, 91,134, 91,180, 91,228, 91,248, 92, 12, 92, 32, 92, 52, 92, 98, 92,144, 92,168, 92,176, 92,190, 92,206,
- 92,230, 92,240, 93,  0, 93, 14, 93, 34, 93, 48, 93, 58, 93, 68, 93, 86, 93,104, 93,126, 93,140, 93,210, 93,234, 94, 32, 94, 80,
- 94,176, 94,230, 95,  2, 95, 28, 95, 70, 95, 90, 95,166, 95,194, 95,242, 96, 12, 96, 50, 96, 82, 96,120, 96,146, 96,156, 96,168,
- 96,188, 96,198, 96,244, 96,254, 97,  8, 97, 18, 97, 28, 97, 38, 97, 48, 97, 58, 97, 68, 97, 78, 97,136, 97,146, 97,156, 97,166,
- 97,180, 97,194, 97,216, 97,230, 97,240, 98,  4, 98, 24, 98, 42, 98, 56, 98, 66, 98, 76, 98, 94, 98,112, 98,128, 98,186, 98,214,
- 98,232, 98,250, 99, 16, 99, 30, 99, 54, 99, 78, 99, 88, 99, 98, 99,108, 99,126, 99,136, 99,146, 99,160, 99,178, 99,214, 99,224,
- 99,234, 99,244, 99,254,100,  8,100, 18,100, 28,100, 38,100, 84,100, 98,100,112,100,128,100,144,100,154,100,164,100,186,100,222,
-100,248,101, 40,101, 54,101, 64,101, 74,101, 84,101, 94,101,104,101,114,101,132,101,152,101,172,101,188,101,250,102, 14,102, 26,
-102, 54,102, 74,102,106,102,118,102,128,102,160,102,170,102,180,102,190,102,248,103,  2,103, 22,103, 46,103, 70,103, 96,103,104,
-103,144,103,168,103,180,103,188,103,202,103,216,103,230,103,242,104,  0,104, 12,104, 24,104, 32,104, 40,104, 68,104,122,104,130,
-104,138,104,146,104,234,104,242,104,250,105, 44,105, 52,105, 60,105,108,105,116,105,124,105,132,105,194,105,202,105,210,105,218,
-105,226,106, 44,106,132,106,150,106,168,106,180,106,192,106,204,106,216,106,228,107,144,107,228,108, 36,108,150,108,254,109, 80,
-109,142,109,234,110, 18,110, 82,110,148,110,156,110,228,111, 66,111, 74,111,136,111,210,112, 40,112,116,112,164,112,234,113, 78,
-113,184,114,  2,114, 80,114, 92,114,104,114,116,114,128,114,140,114,228,115, 40,115, 92,115,106,115,118,115,218,116, 16,116, 96,
-116,150,116,200,117,  2,117, 56,117, 64,117,118,117,164,117,186,117,248,118, 38,118,134,118,200,118,252,119, 40,119,102,119,218,
-120, 22,120, 78,120,168,121,  2,121, 76,121,152,121,182,121,210,122, 26,122, 80,122, 88,122, 96,122,154,122,210,123,  8,123, 16,
-123, 24,123, 32,123, 62,123, 92,123,148,123,156,123,168,123,180,123,192,123,204,123,250,124,  6,124, 96,124,104,124,112,124,130,
-124,138,124,196,124,246,125, 26,125, 38,125, 50,125, 62,125, 86,125, 94,125,158,125,166,125,194,126, 10,126, 18,126,118,126,126,
-126,212,126,224,126,232,127, 26,127, 34,127, 42,127, 50,127, 86,127, 94,127,102,127,110,127,178,128, 18,128, 26,128, 70,128,118,
-128,162,128,216,129, 24,129, 44,129,102,129,192,130, 32,130,116,130,124,130,234,131, 64,131, 92,131,162,131,170,132, 14,132,116,
-132,172,132,184,132,246,133, 40,133,108,133,152,133,160,133,200,133,208,133,216,133,254,134,  6,134,142,134,150,134,194,134,242,
-135, 30,135, 84,135,150,135,170,135,230,136, 22,136,110,136,200,136,212,136,224,137, 26,137, 38,137,114,137,122,137,130,137,148,
-137,156,137,214,138, 10,138, 56,138, 68,138, 80,138, 92,138,116,138,196,138,204,138,212,139,  8,139, 80,139,136,139,172,139,208,
-140,  0,140, 48,140,100,140,152,140,214,141, 18,141,124,141,240,141,248,142,  0,142, 66,142,132,142,172,143,114,143,170,143,182,
-143,190,143,198,144, 66,144,184,144,196,144,208,145, 50,145,118,145,164,145,206,146,  0,146, 76,146,108,146,126,146,144,146,190,
-147, 28,147, 58,147,108,147,156,147,208,147,254,148, 58,148, 90,148,122,148,148,148,174,148,218,149, 10,149, 58,149,106,149,118,
-149,130,149,162,149,192,149,230,150, 10,150, 46,150, 82,150,114,150,144,150,174,150,204,150,232,151,  4,151, 52,151,102,151,200,
-152, 38,152, 50,152, 62,152, 86,152,110,152,118,152,142,152,174,152,206,152,242,153, 22,153, 52,153, 82,153,118,153,154,153,194,
-153,232,154,  8,154, 16,154, 88,154,156,154,168,154,180,154,188,154,206,154,224,155, 14,155, 64,155,102,155,144,155,182,155,218,
-155,248,156, 22,156, 58,156, 94,156,132,156,170,156,192,156,208,156,232,157,  4,157, 12,157, 20,157, 38,157, 56,157, 64,157, 72,
-157, 84,157, 96,157,114,157,126,157,138,157,150,157,158,157,166,157,178,157,190,157,202,157,214,157,238,158,  4,158, 12,158, 20,
-158, 32,158, 44,158, 56,158, 68,158, 80,158, 92,158,104,158,116,158,128,158,140,158,152,158,164,158,186,158,208,158,220,158,232,
-159, 18,159, 60,159,136,159,206,160, 30,160,108,160,170,160,232,161, 32,161, 86,161, 94,161,140,161,148,161,156,161,198,161,240,
-162, 36,162, 86,162,150,162,200,162,250,163, 64,163,110,163,160,163,244,164, 52,164, 86,164,116,164,162,164,240,165, 18,165, 54,
-165,144,165,192,166,  2,166, 52,166,120,166,170,166,226,167,  4,167, 60,167,102,167,174,167,224,167,232,168, 24,168, 32,168, 66,
-168,154,168,190,168,198,169, 30,169, 38,169,114,169,122,169,130,169,144,169,176,169,184,169,222,169,240,170, 88,170,158,170,242,
-171, 54,171,128,171,210,172, 10,172, 76,172,200,173, 22,173, 82,173,114,173,226,174, 92,174,154,174,162,175, 34,175,100,175,218,
-176, 58,176, 66,176,154,176,250,177,  2,177,104,177,112,177,228,178, 70,178, 78,178,144,178,252,179, 58,179, 66,179, 96,179,206,
-180, 50,180, 58,180,204,181, 12,181, 44,181, 70,181, 86,181, 98,181,110,181,122,181,134,181,146,181,158,181,170,181,182,181,196,
-181,208,181,220,181,232,181,244,182,  0,182, 12,182, 24,182, 36,182, 48,182, 60,182, 72,182, 84,182, 96,182,108,182,120,182,132,
-182,144,182,156,182,168,182,186,182,202,182,214,182,226,182,238,182,250,183,  6,183, 18,183, 30,183, 42,183, 54,183, 66,183, 78,
-183, 90,183,102,183,114,183,126,183,140,183,152,183,164,183,178,183,190,183,202,183,214,183,226,183,238,183,250,184,  6,184, 22,
-184, 34,184, 46,184, 60,184, 72,184, 84,184, 98,184,110,184,122,184,134,184,146,184,158,184,170,184,182,184,194,184,206,184,218,
-184,230,184,242,184,254,185, 10,185, 22,185, 34,185, 50,185, 62,185, 74,185, 86,185, 98,185,112,185,124,185,136,185,148,185,160,
-185,172,185,184,185,196,185,210,185,222,185,234,185,246,186,  2,186, 14,186, 26,186, 38,186, 56,186, 72,186, 84,186, 96,186,108,
-186,120,186,132,186,144,186,156,186,168,186,180,186,194,186,206,186,218,186,230,186,242,186,254,187, 10,187, 22,187, 34,187, 46,
-187, 58,187, 70,187, 82,187, 94,187,106,187,118,187,130,187,142,187,154,187,166,187,178,187,190,187,202,187,214,187,226,187,238,
-187,250,188,  6,188, 18,188, 30,188, 42,188, 54,188, 66,188, 80,188, 92,188,104,188,116,188,128,188,140,188,152,188,164,188,176,
-188,188,188,200,188,212,188,224,188,236,188,248,189,  4,189, 16,189, 28,189, 40,189, 52,189, 64,189, 76,189, 88,189,100,189,112,
-189,124,189,136,189,148,189,160,189,172,189,184,189,196,189,208,189,220,189,232,189,244,190,  0,190, 12,190, 24,190, 36,190, 50,
-190, 62,190, 74,190, 86,190, 98,190,110,190,122,190,134,190,146,190,158,190,170,190,186,190,198,190,210,190,222,190,234,190,246,
-191,  2,191, 14,191, 26,191, 38,191, 50,191, 62,191, 74,191, 86,191, 98,191,110,191,122,191,134,191,150,191,162,191,174,191,186,
-191,198,191,210,191,222,191,234,191,246,192,  2,192, 14,192, 26,192, 38,192, 50,192, 62,192, 74,192, 86,192, 98,192,110,192,122,
-192,134,192,146,192,158,192,170,192,182,192,194,192,206,192,218,192,230,192,242,192,254,193, 12,193, 24,193, 80,193, 88,193,142,
-193,142,193,142,193,142,193,142,193,142,193,142,193,142,193,142,193,142,193,142,193,142,193,142,193,142,193,142,193,142,193,142,
-193,164,193,172,193,194,193,216,193,236,194,  0,194, 12,194, 24,194, 54,194, 84,194,112,194,130,194,176,194,222,195, 12,195, 38,
-195, 82,195,148,195,180,195,194,195,206,195,224,196, 10,196, 22,196,220,197,100,197,116,197,128,197,144,197,158,197,170,197,186,
-197,204,198,  4,198, 62,198, 86,198,100,198,162,198,172,198,220,199, 12,199, 34,199, 52,199, 64,199,100,199,124,199,148,199,160,
-199,172,199,186,199,220,199,248,200, 16,200, 40,200, 50,200, 72,200, 84,200, 98,200,116,200,124,200,134,200,176,200,202,200,222,
-200,254,201, 36,201, 54,201, 84,201,134,201,158,201,188,201,230,202,  8,202,142,202,192,203,  8,203, 28,203,116,203,186,203,212,
-203,226,203,246,204, 18,204, 48,204,106,204,116,204,126,204,136,204,146,204,156,204,166,204,176,204,186,204,196,204,206,204,216,
-204,226,204,236,204,246,205,  0,205, 58,205,146,205,218,205,250,206, 46,206,112,206,178,207, 36,207,140,207,226,208, 20,208, 32,
-208,250,209, 30,209, 74,209,174,209,250,210, 74,210,148,210,168,210,188,211, 28,211, 42,211,190,212, 12,212, 88,212,100,212,146,
-212,198,213, 16,213, 80,213, 92,213,176,214, 10,214,136,214,222,215,106,215,186,215,234,216, 48,216, 56,216,112,216,120,216,128,
-216,196,216,218,217,  4,217, 88,217,154,217,232,217,248,218,  8,218, 24,218, 40,218, 56,218, 72,218, 88,218,104,218,120,218,136,
-218,152,218,168,218,180,218,188,218,200,218,216,218,228,218,236,218,248,219,  8,219, 28,219, 40,219, 48,219, 60,219, 76,219, 84,
-219, 92,219,100,219,108,219,116,219,128,219,144,219,156,219,164,219,176,219,192,219,212,219,224,219,232,219,244,220,  4,220, 12,
-220, 20,220, 28,220, 36,220,102,221, 36,221,146,221,154,221,242,222, 74,222,162,222,250,223,138,224, 28,224, 52,224, 76,224,100,
-224,124,224,152,224,174,224,204,225, 22,225, 58,225, 68,225, 78,225, 88,225,110,225,158,225,170,225,182,225,242,226,184,227, 54,
-227, 72,227,100,227,120,227,140,228, 68,229, 70,230,142,231, 86,232, 92,233,142,234, 74,235,200,236,252,238, 50,238, 74,238,126,
-238,126,238,214,239, 32,239, 96,239,208,240, 48,240,112,240,236,241, 84,241,168,241,246,242, 78,242,178,242,248,242,248,242,248,
-242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,
-242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,242,248,  0,  2,  0,102,
-254,150,  4,102,  5,164,  0,  3,  0,  7,  0, 26, 64, 12,  4,251,  0,  6,251,  1,  8,  5,127,  2,  4,  0, 47,196,212,236, 49,  0,
- 16,212,236,212,236, 48, 19, 17, 33, 17, 37, 33, 17, 33,102,  4,  0,252,115,  3, 27,252,229,254,150,  7, 14,248,242,114,  6, 41,
-  0,  2,  1, 53,  0,  0,  2,  0,  5,213,  0,  3,  0,  9,  0, 53, 64, 15,  7,  0,131,  4,129,  2,  8,  7,  5,  1,  3,  4,  0,  0,
- 10, 16,252, 75,176, 11, 84, 88,185,  0,  0,255,192, 56, 89, 60,236, 50, 57, 57, 49,  0, 47,228,252,204, 48,  1,182,  0, 11, 32,
- 11, 80, 11,  3, 93, 37, 51, 21, 35, 17, 51, 17,  3, 35,  3,  1, 53,203,203,203, 20,162, 21,254,254,  5,213,253,113,254,155,  1,
-101,  0,  0,  0,  0,  2,  0,197,  3,170,  2,233,  5,213,  0,  3,  0,  7,  0, 66, 64, 15,  5,  1,132,  4,  0,129,  8,  4,  5,  6,
-  0,  5,  2,  4,  8, 16,252, 75,176, 18, 84, 75,176, 19, 84, 91, 88,185,  0,  2,255,192, 56, 89,252,220,236, 49,  0, 16,244, 60,
-236, 50, 48,  1, 64, 15, 48,  9, 64,  9, 80,  9, 96,  9,112,  9,160,  9,191,  9,  7, 93,  1, 17, 35, 17, 33, 17, 35, 17,  1,111,
-170,  2, 36,170,  5,213,253,213,  2, 43,253,213,  2, 43,  0,  0,  0,  2,  0,158,  0,  0,  6, 23,  5,190,  0,  3,  0, 31,  0, 96,
- 64, 49, 27, 11,  0,135,  7,  4, 29,  9,  5, 25, 13,  2,135, 23, 19, 15, 21, 17, 31, 30, 28, 27, 26, 23, 22, 21, 20, 19, 18, 17,
- 16, 14, 13, 12,  9,  8,  7,  6,  5,  4,  3,  2,  1,  0, 26, 10, 24,  6, 32, 16,252,204, 23, 57, 49,  0, 47, 60,212, 60, 60,252,
- 60, 60,212, 60, 60,196, 50,236, 50, 50, 48, 64, 17, 11,  1, 11,  2, 11, 12, 11, 13, 20,  4, 26, 17, 26, 18, 20, 31,  8,  1, 93,
-  1, 33,  3, 33, 11,  1, 33, 19, 51,  3, 33, 21, 33,  3, 33, 21, 33,  3, 35, 19, 33,  3, 35, 19, 33, 53, 33, 19, 33, 53, 33, 19,
-  4, 23,254,221, 84,  1, 37, 68,104,  1, 36,105,160,103,  1, 56,254,161, 82,  1, 62,254,155,104,160,103,254,219,103,161,104,254,
-197,  1, 96, 84,254,190,  1,105,102,  3,133,254,178,  3,135,254, 97,  1,159,254, 97,154,254,178,153,254, 98,  1,158,254, 98,  1,
-158,153,  1, 78,154,  1,159,  0,  0,  3,  0,170,254,211,  4,109,  6, 20,  0, 33,  0, 40,  0, 47,  0,189, 64, 85, 34,  2, 10, 11,
- 10, 39,  1, 38, 40,  2, 11, 11, 10, 29,  1, 30, 28,  2, 47, 41, 47, 27,  2, 41, 41, 47, 66, 19, 17, 16, 34, 10, 27, 41,  4, 23,
-  6,  9, 42, 33,  5,  2, 23,134, 22,  6,134,  5, 17, 35, 26,138, 22,137, 16,  0, 42,138,  5,137,  2, 45,  8, 22, 10, 30,  7, 41,
- 26, 18,  3,  0,  9, 34, 16,  9,  3,  1,  7, 38,  8, 13,  5,  6, 48, 16,252, 75,176,  9, 84, 88,185,  0,  5,255,192, 56, 89, 75,
-176, 12, 84, 75,176, 16, 84, 91, 75,176, 15, 84, 91, 88,185,  0,  5,  0, 64, 56, 89, 60,236,244, 23, 60,252, 23, 60,244,228,236,
- 49,  0, 47,228,236,196,212,228,236, 50,196, 16,238, 16,238, 17, 18, 57, 17, 57, 17, 18, 23, 57, 17, 18, 57, 48, 75, 83, 88,  7,
- 16,  4,237,  7, 16, 14,237, 17, 23, 57,  7, 16, 14,237, 17, 23, 57,  7, 16,  4,237, 89, 34,  1, 35,  3, 46,  1, 39, 53, 30,  1,
- 23, 17, 46,  1, 53, 52, 54, 55, 53, 51, 21, 30,  1, 23, 21, 46,  1, 39, 17, 30,  1, 21, 20,  6,  7,  3, 17, 14,  1, 21, 20, 22,
- 23, 17, 62,  1, 53, 52, 38,  2,180,100,  1,105,210,106,102,209,111,221,201,218,204,100, 93,174, 83, 83,175, 92,227,214,227,214,
-100,116,122,113,225,127,129,123,254,211,  1, 45,  2, 45, 45,180, 64, 65,  1,  1,200, 36,172,150,163,188, 14,235,232,  4, 31, 27,
-175, 42, 46,  4,254, 85, 35,180,156,169,195, 15,  3,  0,  1,154, 13,106, 88, 86, 96,213,254, 79, 17,110, 90, 88,104,  0,  0,  0,
-  0,  5,  0,113,255,227,  7, 41,  5,240,  0, 11,  0, 23,  0, 35,  0, 39,  0, 51,  0,137, 64, 54, 36, 15, 37, 38, 37, 38, 15, 39,
- 36, 39, 66,  0,146, 12, 30,146, 46,141, 24,146, 36,  6,146, 12,141, 38, 18,140, 40, 36,145, 52, 39, 33, 27, 37,  9,  3, 13, 21,
- 14,  9, 13, 15, 33, 13, 43, 14, 27, 13, 15, 49, 11, 52, 16,252, 75,176,  9, 84, 75,176, 11, 84, 91, 75,176, 12, 84, 91, 75,176,
- 20, 84, 91, 75,176, 14, 84, 91, 75,176, 13, 84, 91, 88,185,  0, 49,255,192, 56, 89,196,236,244,236, 16,238,246,238, 17, 57, 17,
- 18, 57, 49,  0, 16,228, 50,244, 60,228,236, 16,238,246,238, 16,238, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  5,237, 89, 34,  1,
- 34,  6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 50, 22, 21, 20,  6, 35, 34, 38, 53, 52, 54,  1, 34,  6, 21, 20, 22, 51, 50, 54,
- 53, 52, 38, 37, 51,  1, 35, 19, 50, 22, 21, 20,  6, 35, 34, 38, 53, 52, 54,  5,209, 87, 99, 99, 87, 85, 99, 99, 85,158,186,187,
-157,160,186,187,252,151, 86, 99, 98, 87, 87, 99,100,  3, 49,160,252, 90,160, 31,158,188,187,159,159,185,186,  2,145,148,132,130,
-149,149,130,131,149,127,220,187,187,219,219,187,188,219,  2, 97,149,130,132,148,148,132,129,150,127,249,243,  6, 13,219,187,189,
-218,219,188,186,220,  0,  0,  0,  0,  2,  0,129,255,227,  5,254,  5,240,  0,  9,  0, 48,  1,205, 64,150, 13,  1, 14, 12,134, 17,
- 18, 17, 11,134, 10, 11, 18, 18, 17,  9,134,  0,  9, 21, 22, 21,  7,  1,  6,  8,134, 22, 22, 21,  2,  1,  3,  1,134, 29, 30, 29,
-  0,134,  9,  0, 30, 30, 29, 32, 31,  2, 33, 30, 17, 10, 19, 10, 23, 22, 21,  3, 24, 20, 17, 19, 10,  7,  8,  2,  6,  9, 17, 19,
- 19, 10,  2,  1,  2,  3,  0, 17, 10, 19, 10, 23, 22,  2, 24, 21, 17, 19, 10, 20, 17, 19, 19, 10, 66, 18, 11,  9,  3,  6,  0, 10,
- 30,  3, 40, 21, 14,  6, 40, 39,  6,149, 24, 43,149, 39,148, 36,145, 24,140, 14, 19, 10, 46, 11, 14,  9,  0, 46, 18, 21, 39, 14,
- 30,  3, 46, 18, 39, 33, 14, 17, 15, 19, 33,  3, 18, 27, 16, 49, 16,252,236,196,212,212,236, 16,198,238, 17, 57, 17, 18, 57, 57,
- 17, 57, 57, 17, 57, 17, 57, 49,  0, 47,198,228,246,230,238, 16,238, 16,198, 17, 18, 57, 17, 23, 57, 17, 23, 57, 48, 75, 83, 88,
-  7, 16,  5,237,  7,  5,237, 17, 23, 57,  7, 16,  5,237, 17, 23, 57,  7, 16,  5,237, 17, 23, 57,  7,  5,237, 17, 23, 57,  7, 16,
-  5,237, 17, 23, 57,  7, 16,  8,237,  7, 16, 14,237, 17, 23, 57,  7, 16, 14,237, 17, 23, 57,  7, 16,  8,237,  7, 16,  8,237,  7,
- 16, 14,237, 17, 23, 57, 89, 34,178, 15, 50,  1,  1, 93, 64,178,  7, 11,  5, 34,  9, 41, 28,  0, 28,  1, 31,  2, 23, 11, 42,  0,
- 42,  1, 38, 18, 58,  0, 52, 18, 68, 11, 94,  0, 89,  1, 90, 10, 85, 18, 90, 26, 90, 31, 89, 48,103, 30,123,  0,155,  0,154,  1,
-153,  2,151,  8,149, 11,147, 21,149, 22,149, 34,153, 45, 31,  9, 11,  9, 12,  8, 17, 12, 39, 12, 40, 24,  2, 27,  9, 25, 11, 25,
- 12, 25, 17, 28, 20, 28, 21, 22, 29, 31, 50, 39,  0, 39,  1, 41,  9, 35, 18, 42, 19, 42, 20, 40, 21, 47, 50, 59,  9, 52, 18, 57,
- 19, 63, 50, 74,  9, 76, 20, 75, 21, 70, 25, 79, 50, 86,  1, 90,  9, 89, 12, 85, 18, 89, 19, 92, 31, 95, 50,106, 12,105, 17, 96,
- 50,117,  1,121, 12,122, 17,147,  0,147,  1,151,  2,149,  5,156,  7,156,  8,159,  8,154,  9,155, 11,154, 12,144, 50,160, 50,176,
- 50, 57, 93,  0, 93,  1, 14,  1, 21, 20, 22, 51, 50, 54, 55,  9,  1, 62,  1, 55, 51,  6,  2,  7,  1, 35, 39, 14,  1, 35, 34,  0,
- 53, 52, 54, 55, 46,  1, 53, 52, 54, 51, 50, 22, 23, 21, 46,  1, 35, 34,  6, 21, 20, 22,  1,242, 91, 85,212,160, 95,166, 73,254,
-123,  1,252, 59, 66,  6,186, 12,104, 93,  1, 23,252,143,104,228,131,241,254,206,134,134, 48, 50,222,184, 83,165, 85, 87,158, 68,
-105,131, 59,  3, 35, 81,161, 88,146,194, 63, 64,  2,143,253,248, 89,203,114,132,254,254,126,254,227,147, 89, 87,  1, 19,215,128,
-225, 99, 63,125, 60,162,197, 36, 36,182, 47, 49,111, 88, 51,103,  0,  1,  0,197,  3,170,  1,111,  5,213,  0,  3,  0, 55, 64, 10,
-  1,132,  0,129,  4,  0,  5,  2,  4,  4, 16,252, 75,176, 18, 84, 75,176, 19, 84, 91, 88,185,  0,  2,255,192, 56, 89,236, 49,  0,
- 16,244,236, 48,  1, 64, 13, 64,  5, 80,  5, 96,  5,112,  5,144,  5,160,  5,  6, 93,  1, 17, 35, 17,  1,111,170,  5,213,253,213,
-  2, 43,  0,  0,  0,  1,  0,176,254,242,  2,123,  6, 18,  0, 13,  0, 55, 64, 15,  6,152,  0,151, 14, 13,  7,  0,  3, 18,  6,  0,
- 19, 10, 14, 16,220, 75,176, 19, 84, 88,185,  0, 10,255,192, 56, 89, 75,176, 15, 84, 88,185,  0, 10,  0, 64, 56, 89,228, 50,236,
- 17, 57, 57, 49,  0, 16,252,236, 48,  1,  6,  2, 21, 20, 18, 23, 35, 38,  2, 53, 52, 18, 55,  2,123,134,130,131,133,160,150,149,
-148,151,  6, 18,230,254, 62,231,231,254, 59,229,235,  1,198,224,223,  1,196,236,  0,  1,  0,164,254,242,  2,111,  6, 18,  0, 13,
-  0, 31, 64, 15,  7,152,  0,151, 14,  7,  1,  0, 11, 18,  4, 19,  8,  0, 14, 16,220, 60,244,236, 17, 57, 57, 49,  0, 16,252,236,
- 48, 19, 51, 22, 18, 21, 20,  2,  7, 35, 54, 18, 53, 52,  2,164,160,150,149,149,150,160,133,131,131,  6, 18,236,254, 60,223,224,
-254, 58,235,229,  1,197,231,231,  1,194,  0,  0,  0,  1,  0, 61,  2, 74,  3,195,  5,240,  0, 17,  0, 78, 64, 44, 16, 13, 11,  0,
-  4, 12,  9,  7,  4,  2,  4,  8,  3,153,  5, 17, 12,153, 10,  1, 14,145, 18,  8, 12, 10,  3,  9,  6, 17,  3,  1,  3,  2,  0, 20,
- 15,  4, 11,  9, 20, 13,  6, 18, 16,212, 60,228, 50,220, 60,228, 50, 23, 57, 17, 18, 23, 57, 49,  0, 16,244,212, 60,236, 50,196,
-236, 50, 23, 57, 18, 23, 57, 48,  1, 13,  1,  7, 37, 17, 35, 17,  5, 39, 45,  1, 55,  5, 17, 51, 17, 37,  3,195,254,153,  1,103,
- 58,254,176,114,254,176, 58,  1,103,254,153, 58,  1, 80,114,  1, 80,  4,223,194,195, 98,203,254,135,  1,121,203, 98,195,194, 99,
-203,  1,121,254,135,203,  0,  0,  0,  1,  0,217,  0,  0,  5,219,  5,  4,  0, 11,  0, 35, 64, 17,  0,  9,  1,156,  7,  3,  5,  2,
- 21,  4,  0, 23, 10,  6, 21,  8, 12, 16,220,252, 60,252, 60,236, 49,  0, 47,212, 60,252, 60,196, 48,  1, 17, 33, 21, 33, 17, 35,
- 17, 33, 53, 33, 17,  3,174,  2, 45,253,211,168,253,211,  2, 45,  5,  4,253,211,170,253,211,  2, 45,170,  2, 45,  0,  1,  0,158,
-255, 18,  1,195,  0,254,  0,  5,  0, 25, 64, 12,  3,158,  0,131,  6,  3,  4,  1, 25,  0, 24,  6, 16,252,236,212,204, 49,  0, 16,
-252,236, 48, 55, 51, 21,  3, 35, 19,240,211,164,129, 82,254,172,254,192,  1, 64,  0,  1,  0,100,  1,223,  2,127,  2,131,  0,  3,
-  0, 17,182,  0,156,  2,  4,  1,  0,  4, 16,220,204, 49,  0, 16,212,236, 48, 19, 33, 21, 33,100,  2, 27,253,229,  2,131,164,  0,
-  0,  1,  0,219,  0,  0,  1,174,  0,254,  0,  3,  0, 17,183,  0,131,  2,  1, 25,  0, 24,  4, 16,252,236, 49,  0, 47,236, 48, 55,
- 51, 21, 35,219,211,211,254,254,  0,  1,  0,  0,255, 66,  2,178,  5,213,  0,  3,  0, 45, 64, 20,  0, 26,  1,  2,  1,  2, 26,  3,
-  0,  3, 66,  2,159,  0,129,  4,  2,  0,  1,  3, 47,196, 57, 57, 49,  0, 16,244,236, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  5,
-237, 89, 34,  1, 51,  1, 35,  2,  8,170,253,248,170,  5,213,249,109,  0,  0,  0,  0,  2,  0,135,255,227,  4,143,  5,240,  0, 11,
-  0, 23,  0, 35, 64, 19,  6,160, 18,  0,160, 12,145, 18,140, 24,  9, 28, 15, 30,  3, 28, 21, 27, 24, 16,252,236,244,236, 49,  0,
- 16,228,244,236, 16,238, 48,  1, 34,  2, 17, 16, 18, 51, 50, 18, 17, 16,  2, 39, 50,  0, 17, 16,  0, 35, 34,  0, 17, 16,  0,  2,
-139,156,157,157,156,157,157,157,157,251,  1,  9,254,247,251,251,254,247,  1,  9,  5, 80,254,205,254,204,254,205,254,205,  1, 51,
-  1, 51,  1, 52,  1, 51,160,254,115,254,134,254,135,254,115,  1,141,  1,121,  1,122,  1,141,  0,  0,  1,  0,225,  0,  0,  4, 90,
-  5,213,  0, 10,  0, 64, 64, 21, 66,  3,160,  4,  2,160,  5,129,  7,  0,160,  9,  8, 31,  6, 28,  3,  0, 31,  1, 11, 16,212, 75,
-176, 15, 84, 88,185,  0,  1,  0, 64, 56, 89,236,196,252,236, 49,  0, 47,236, 50,244,236,212,236, 48, 75, 83, 88, 89, 34,  1,180,
- 15,  3, 15,  4,  2, 93, 55, 33, 17,  5, 53, 37, 51, 17, 33, 21, 33,254,  1, 74,254,153,  1,101,202,  1, 74,252,164,170,  4,115,
- 72,184, 72,250,213,170,  0,  0,  0,  1,  0,150,  0,  0,  4, 74,  5,240,  0, 28,  0,154, 64, 39, 25, 26, 27,  3, 24, 28, 17,  5,
-  4,  0, 17,  5,  5,  4, 66, 16,161, 17,148, 13,160, 20,145,  4,  0,160,  2,  0, 16, 10,  2,  1, 10, 28, 23, 16,  3,  6, 29, 16,
-252, 75,176, 21, 84, 75,176, 22, 84, 91, 75,176, 20, 84, 91, 88,185,  0,  3,255,192, 56, 89,196,212,236,192,192, 17, 18, 57, 49,
-  0, 47,236, 50,244,236,244,236, 48, 75, 83, 88,  7, 16,  5,237,  7,  5,237, 17, 23, 57, 89, 34,  1, 64, 50, 85,  4, 86,  5, 86,
-  7,122,  4,122,  5,118, 27,135, 25,  7,  4,  0,  4, 25,  4, 26,  4, 27,  5, 28,116,  0,118,  6,117, 26,115, 27,116, 28,130,  0,
-134, 25,130, 26,130, 27,130, 28,168,  0,168, 27, 17, 93,  0, 93, 37, 33, 21, 33, 53, 54,  0, 55, 62,  1, 53, 52, 38, 35, 34,  6,
-  7, 53, 62,  1, 51, 50,  4, 21, 20,  6,  7,  6,  0,  1,137,  2,193,252, 76,115,  1,141, 51, 97, 77,167,134, 95,211,120,122,212,
- 88,232,  1, 20, 69, 91, 25,254,244,170,170,170,119,  1,145, 58,109,151, 73,119,150, 66, 67,204, 49, 50,232,194, 92,165,112, 29,
-254,235,  0,  0,  0,  1,  0,156,255,227,  4,115,  5,240,  0, 40,  0,112, 64, 46,  0, 21, 19, 10,134,  9, 31,134, 32, 19,160, 21,
- 13,160,  9,147,  6, 28,160, 32,147, 35,145,  6,140, 21,163, 41, 22, 28, 19,  0,  3, 20, 25, 28, 38, 32, 16, 28,  3, 20, 31,  9,
-  6, 41, 16,252, 75,176, 22, 84, 75,176, 20, 84, 91, 88,185,  0,  9,255,192, 56, 89,196,196,212,236,244,236, 17, 23, 57, 57, 49,
-  0, 16,236,228,244,228,236, 16,230,238, 16,238, 16,238, 16,238, 17, 18, 57, 48,  1, 64,  9,100, 30, 97, 31, 97, 32,100, 33,  4,
-  0, 93,  1, 30,  1, 21, 20,  4, 33, 34, 38, 39, 53, 30,  1, 51, 50, 54, 53, 52, 38, 43,  1, 53, 51, 50, 54, 53, 52, 38, 35, 34,
-  6,  7, 53, 62,  1, 51, 50,  4, 21, 20,  6,  3, 63,145,163,254,208,254,232, 94,199,106, 84,200,109,190,199,185,165,174,182,149,
-158,163,152, 83,190,114,115,201, 89,230,  1, 12,142,  3, 37, 31,196,144,221,242, 37, 37,195, 49, 50,150,143,132,149,166,119,112,
-115,123, 36, 38,180, 32, 32,209,178,124,171,  0,  0,  2,  0,100,  0,  0,  4,164,  5,213,  0,  2,  0, 13,  0,129, 64, 29,  1, 13,
-  3, 13,  0,  3,  3, 13, 66,  0,  3, 11,  7,160,  5,  1,  3,129,  9,  1, 12, 10,  0, 28,  6,  8,  4, 12, 14, 16,220, 75,176, 11,
- 84, 75,176, 13, 84, 91, 88,185,  0, 12,255,192, 56, 89,212, 60,196,236, 50, 17, 57, 49,  0, 47,228,212, 60,236, 50, 18, 57, 48,
- 75, 83, 88,  7, 16,  4,201,  7, 16,  5,201, 89, 34,  1, 64, 42, 11,  0, 42,  0, 72,  0, 89,  0,105,  0,119,  0,138,  0,  7, 22,
-  1, 43,  0, 38,  1, 43,  3, 54,  1, 78,  1, 79, 12, 79, 13, 86,  1,102,  1,117,  1,122,  3,133,  1, 13, 93,  0, 93,  9,  1, 33,
-  3, 51, 17, 51, 21, 35, 17, 35, 17, 33, 53,  3,  6,254,  2,  1,254, 53,254,213,213,201,253, 94,  5, 37,252,227,  3,205,252, 51,
-168,254,160,  1, 96,195,  0,  0,  0,  1,  0,158,255,227,  4,100,  5,213,  0, 29,  0, 94, 64, 35,  4, 26,  7, 17,134, 16, 29, 26,
-160,  7, 20,160, 16,137, 13,  2,160,  0,129, 13,140,  7,164, 30, 23, 28,  1, 10,  3, 28,  0, 10, 16,  6, 30, 16,252,  1, 75,176,
- 22, 84, 75,176, 20, 84, 91, 88,185,  0, 16,255,192, 56, 89, 75,176, 15, 84, 88,185,  0, 16,  0, 64, 56, 89,196,212,236, 16,196,
-238, 49,  0, 16,228,228,244,236, 16,230,238, 16,254,196, 16,238, 17, 18, 57, 48, 19, 33, 21, 33, 17, 62,  1, 51, 50,  0, 21, 20,
-  0, 33, 34, 38, 39, 53, 30,  1, 51, 50, 54, 53, 52, 38, 35, 34,  6,  7,221,  3, 25,253,160, 44, 88, 44,250,  1, 36,254,212,254,
-239, 94,195,104, 90,192,107,173,202,202,173, 81,161, 84,  5,213,170,254,146, 15, 15,254,238,234,241,254,245, 32, 32,203, 49, 48,
-182,156,156,182, 36, 38,  0,  0,  0,  2,  0,143,255,227,  4,150,  5,240,  0, 11,  0, 36,  0, 88, 64, 36, 19,  6,  0, 13,134, 12,
-  0,160, 22,  6,160, 28, 22,165, 16,160, 12,137, 34,145, 28,140, 37, 12, 34,  9, 28, 25, 30, 19, 28,  3, 33, 31, 27, 37, 16,252,
-236,236,244,236,228, 49,  0, 16,228,244,228,252,228, 16,238, 16,238, 16,238, 17, 18, 57, 48, 64, 20,203,  0,203,  1,205,  2,205,
-  3,205,  4,203,  5,203,  6,  7,164, 30,178, 30,  2, 93,  1, 93,  1, 34,  6, 21, 20, 22, 51, 50, 54, 53, 52, 38,  1, 21, 46,  1,
- 35, 34,  2,  3, 62,  1, 51, 50,  0, 21, 20,  0, 35, 32,  0, 17, 16,  0, 33, 50, 22,  2,164,136,159,159,136,136,159,159,  1,  9,
- 76,155, 76,200,211, 15, 59,178,107,225,  1,  5,254,240,226,254,253,254,238,  1, 80,  1, 27, 76,155,  3, 59,186,162,161,187,187,
-161,162,186,  2,121,184, 36, 38,254,242,254,239, 87, 93,254,239,235,230,254,234,  1,141,  1,121,  1, 98,  1,165, 30,  0,  0,  0,
-  0,  1,  0,168,  0,  0,  4,104,  5,213,  0,  6,  0, 99, 64, 24,  5, 17,  2,  3,  2,  3, 17,  4,  5,  4, 66,  5,160,  0,129,  3,
-  5,  3,  1,  4,  1,  0,  6,  7, 16,252,204,196, 17, 57, 57, 49,  0, 47,244,236, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  5,237,
- 89, 34,  1, 75,176, 22, 84, 88,189,  0,  7,  0, 64,  0,  1,  0,  7,  0,  7,255,192, 56, 17, 55, 56, 89, 64, 18, 88,  2,  1,  6,
-  3, 26,  5, 57,  5, 72,  5,103,  3,176,  0,176,  6,  7, 93,  0, 93, 19, 33, 21,  1, 35,  1, 33,168,  3,192,253,226,211,  1,254,
-253, 51,  5,213, 86,250,129,  5, 43,  0,  0,  0,  0,  3,  0,139,255,227,  4,139,  5,240,  0, 11,  0, 35,  0, 47,  0, 67, 64, 37,
- 24, 12,  0,160, 39,  6,160, 30, 45,160, 18,145, 30,140, 39,163, 48, 24, 12, 36, 42, 28, 21, 36, 28, 15,  9, 28, 21, 27, 30,  3,
- 28, 15, 33, 27, 48, 16,252,196,236,244,196,236, 16,238, 16,238, 17, 57, 57, 49,  0, 16,236,228,244,236, 16,238, 16,238, 57, 57,
- 48,  1, 34,  6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 37, 46,  1, 53, 52, 36, 51, 50, 22, 21, 20,  6,  7, 30,  1, 21, 20,  4, 35,
- 34, 36, 53, 52, 54, 19, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34,  6,  2,139,144,165,165,144,144,166,165,254,165,130,145,  0,255,
-222,223,254,145,129,146,163,254,247,247,247,254,247,164, 72,145,131,130,147,147,130,131,145,  2,197,154,135,135,154,155,134,135,
-154, 86, 32,178,128,179,208,208,179,128,178, 32, 34,198,143,217,232,232,217,143,198,  1, 97,116,130,130,116,116,130,130,  0,  0,
-  0,  2,  0,129,255,227,  4,135,  5,240,  0, 24,  0, 36,  0, 88, 64, 35,  7, 31, 25,  1,134,  0, 25,160, 10,165,  4,160,  0,137,
- 22, 31,160, 16,145, 22,140, 37,  7, 28, 28, 33, 19, 30,  0, 34, 34, 28, 13, 27, 37, 16,252,236,228,244,236,236, 49,  0, 16,228,
-244,236, 16,230,254,245,238, 16,238, 17, 18, 57, 48, 64, 22,196, 25,194, 26,192, 27,192, 28,192, 29,194, 30,196, 31,  7,170, 18,
-188, 18,233, 18,  3, 93,  1, 93, 55, 53, 30,  1, 51, 50, 18, 19, 14,  1, 35, 34,  0, 53, 52,  0, 51, 32,  0, 17, 16,  0, 33, 34,
- 38,  1, 50, 54, 53, 52, 38, 35, 34,  6, 21, 20, 22,225, 76,156, 75,200,211, 15, 58,178,108,224,254,251,  1, 16,226,  1,  3,  1,
- 17,254,177,254,229, 76,156,  1, 62,136,159,159,136,136,159,159, 31,184, 36, 38,  1, 13,  1, 18, 86, 92,  1, 15,235,230,  1, 22,
-254,115,254,134,254,159,254, 91, 30,  2,151,186,162,161,187,187,161,162,186,  0,  0,  2,  0,240,  0,  0,  1,195,  4, 35,  0,  3,
-  0,  7,  0, 28, 64, 14,  6,131,  4,166,  0,131,  2,  5,  1,  3,  4,  0, 24,  8, 16,252, 60,236, 50, 49,  0, 47,236,244,236, 48,
- 55, 51, 21, 35, 17, 51, 21, 35,240,211,211,211,211,254,254,  4, 35,254,  0,  0,  0,  2,  0,158,255, 18,  1,195,  4, 35,  0,  3,
-  0,  9,  0, 37, 64, 19,  2,131,  0,  7,158,  4,131,  0,166, 10,  7,  8,  5,  1, 25,  4,  0, 24, 10, 16,252, 60,236, 50,212,204,
- 49,  0, 16,228,252,236, 16,238, 48, 19, 51, 21, 35, 17, 51, 21,  3, 35, 19,240,211,211,211,164,129, 82,  4, 35,254,253,217,172,
-254,192,  1, 64,  0,  1,  0,217,  0, 94,  5,219,  4,166,  0,  6,  0, 77, 64, 42,  2,156,  3,  4,  3,  1,156,  0,  1,  4,  4,  3,
-  1,156,  2,  1,  5,  6,  5,  0,156,  6,  5, 66,  5,  4,  2,  1,  0,  5,  3,168,  6,167,  7,  1,  2,  0, 36,  4, 35,  7, 16,252,
-236, 50, 57, 49,  0, 16,244,236, 23, 57, 48, 75, 83, 88,  7,  4,237,  7, 16,  8,237,  7, 16,  8,237,  7, 16,  4,237, 89, 34,  9,
-  2, 21,  1, 53,  1,  5,219,251,248,  4,  8,250,254,  5,  2,  3,240,254,145,254,147,182,  1,209,166,  1,209,  0,  0,  2,  0,217,
-  1, 96,  5,219,  3,162,  0,  3,  0,  7,  0, 28, 64, 13,  0,156,  2,  6,156,  4,  8,  5,  1,  4,  0, 35,  8, 16,252, 60,196, 50,
- 49,  0, 16,212,236,212,236, 48, 19, 33, 21, 33, 21, 33, 21, 33,217,  5,  2,250,254,  5,  2,250,254,  3,162,168,240,170,  0,  0,
-  0,  1,  0,217,  0, 94,  5,219,  4,166,  0,  6,  0, 79, 64, 43,  6,156,  0,  6,  3,  4,  3,  5,156,  4,  4,  3,  0,156,  1,  2,
-  1,  6,156,  5,  6,  2,  2,  1, 66,  6,  5,  3,  2,  0,  5,  4,168,  1,167,  7,  6,  2, 36,  4,  0, 35,  7, 16,252, 60,236, 57,
- 49,  0, 16,244,236, 23, 57, 48, 75, 83, 88,  7, 16,  8,237,  7, 16,  4,237,  7, 16,  4,237,  7, 16,  8,237, 89, 34, 19, 53,  1,
- 21,  1, 53,  1,217,  5,  2,250,254,  4,  6,  3,240,182,254, 47,166,254, 47,182,  1,109,  0,  0,  0,  2,  0,147,  0,  0,  3,176,
-  5,240,  0,  3,  0, 36,  0,101, 64, 43, 36, 30,  9,  6,  4, 10, 29, 19,  4,  0, 20,134, 19,136, 16,149, 23,145,  0,131,  2, 29,
- 26, 13,  9,  5,  4, 10, 30,  1, 13, 28, 26,  4, 28,  5,  1,  3,  0, 38, 26, 19, 37, 16,220, 75,176, 12, 84, 88,185,  0, 19,255,
-192, 56, 89,196,252,236,212,236, 16,238, 17, 57, 57, 17, 18, 57, 17, 18, 57, 49,  0, 47,238,246,254,244,238, 16,205, 17, 57, 57,
- 23, 57, 48,  1,182,121,  9,122, 10,122, 32,  3, 93, 37, 51, 21, 35, 19, 35, 53, 52, 54, 63,  1, 62,  1, 53, 52, 38, 35, 34,  6,
-  7, 53, 62,  1, 51, 50, 22, 21, 20,  6, 15,  1, 14,  1,  7, 14,  1, 21,  1,135,203,203,197,191, 56, 90, 90, 57, 51,131,108, 79,
-179, 97, 94,193,103,184,223, 72, 90, 88, 47, 39,  8,  6,  6,254,254,  1,145,154,101,130, 86, 89, 53, 94, 49, 89,110, 70, 67,188,
- 57, 56,194,159, 76,137, 86, 86, 47, 53, 25, 21, 60, 52,  0,  0,  0,  2,  0,135,254,156,  7,113,  5,162,  0, 11,  0, 76,  0,149,
- 64, 50, 24, 12,  3,  9,169, 25, 21, 27,  3,169, 76, 15, 52, 51, 15,172, 48,169, 55, 21,172, 36,169, 55, 67, 77, 51, 52, 30, 26,
-  0, 40, 18,  6, 24, 12, 40, 26, 43, 30, 40, 73, 18, 43, 42, 40, 73, 44, 61, 77, 16,220,236,252,236, 16,254,253,254, 60,198, 16,
-238, 17, 18, 57, 57, 49,  0, 16,212,196,252,236, 16,254,237,212,198, 16,197,238, 50, 16,196,238, 17, 57, 57, 48,  0, 75,176,  9,
- 84, 75,176, 12, 84, 91, 75,176, 16, 84, 91, 75,176, 19, 84, 91, 75,176, 20, 84, 91, 88,189,  0, 77,255,192,  0,  1,  0, 77,  0,
- 77,  0, 64, 56, 17, 55, 56, 89, 64,  9, 15, 78, 31, 78, 47, 78, 63, 78,  4,  1, 93,  1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34,
-  6,  1, 14,  1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 23, 53, 51, 17, 62,  1, 53, 52, 38, 39, 38, 36, 35, 34,  6,  7,  6,  2, 21,
- 20, 18, 23, 22,  4, 51, 50, 54, 55, 23,  6,  4, 35, 34, 36, 39, 38,  2, 53, 52, 18, 55, 54, 36, 51, 50,  4, 23, 30,  1, 21, 16,
-  0,  5,  2,250,142,124,123,141,144,122,121,143,  2, 33, 60,155,103,172,215,216,171,103,156, 59,143,146,165, 63, 64,104,254,213,
-176,123,226, 96,157,177,115,109,105,  1, 20,157,129,249,104, 90,125,254,217,152,185,254,184,128,128,134,136,126,129,  1, 82,189,
-212,  1,107,123, 75, 79,254,194,254,232,  2, 25,143,163,164,142,140,165,164,254, 72, 77, 73,249,200,200,250, 75, 76,131,253, 32,
- 22,223,177,107,188, 80,131,139, 65, 64,102,254,181,193,159,254,234,106,104,109, 87, 81,111, 97,103,131,125,125,  1, 73,189,182,
-  1, 74,125,127,135,174,160, 98,230,123,254,249,254,208,  6,  0,  0,  2,  0, 16,  0,  0,  5,104,  5,213,  0,  2,  0, 10,  0,186,
- 64, 65,  0, 17,  1,  0,  4,  5,  4,  2, 17,  5,  5,  4,  1, 17, 10,  3, 10,  0, 17,  2,  0,  3,  3, 10,  7, 17,  5,  4,  6, 17,
-  5,  5,  4,  9, 17,  3, 10,  8, 17, 10,  3, 10, 66,  0,  3,  7,149,  1,  3,129,  9,  5,  9,  8,  7,  6,  4,  3,  2,  1,  0,  9,
-  5, 10, 11, 16,212,196, 23, 57, 49,  0, 47, 60,228,212,236, 18, 57, 48, 75, 83, 88,  7, 16,  5,237,  7,  5,237,  7, 16,  5,237,
-  7,  5,237,  7, 16,  8,237,  7, 16,  5,237,  7, 16,  5,237,  7, 16,  8,237, 89, 34,178, 32, 12,  1,  1, 93, 64, 58, 15,  0, 88,
-  0,118,  0,112,  0,140,  0,  5,  7,  1,  8,  2,  6,  3,  9,  4, 22,  1, 25,  2, 86,  1, 88,  2, 80, 12,103,  1,104,  2,120,  1,
-118,  2,124,  3,114,  4,119,  7,120,  8,135,  1,136,  2,128, 12,152,  2,153,  3,150,  4, 23, 93,  0, 93,  9,  1, 33,  1, 51,  1,
- 35,  3, 33,  3, 35,  2,188,254,238,  2, 37,254,123,229,  2, 57,210,136,253, 95,136,213,  5, 14,253, 25,  3,174,250, 43,  1,127,
-254,129,  0,  0,  0,  3,  0,201,  0,  0,  4,236,  5,213,  0,  8,  0, 17,  0, 32,  0, 67, 64, 35, 25,  0,149, 10,  9,149, 18,129,
-  1,149, 10,173, 31, 17, 11,  8,  2, 19, 25, 31,  5,  0, 14, 28, 22,  5, 25, 28, 46,  9,  0, 28, 18,  4, 33, 16,252,236, 50,252,
-236,212,236, 17, 23, 57, 57, 57, 49,  0, 47,236,236,244,236, 16,238, 57, 48,178, 15, 34,  1,  1, 93,  1, 17, 33, 50, 54, 53, 52,
- 38, 35,  1, 17, 33, 50, 54, 53, 52, 38, 35, 37, 33, 50, 22, 21, 20,  6,  7, 30,  1, 21, 20,  4, 35, 33,  1,147,  1, 68,163,157,
-157,163,254,188,  1, 43,148,145,145,148,254, 11,  2,  4,231,250,128,124,149,165,254,240,251,253,232,  2,201,253,221,135,139,140,
-133,  2,102,254, 62,111,114,113,112,166,192,177,137,162, 20, 32,203,152,200,218,  0,  1,  0,115,255,227,  5, 39,  5,240,  0, 25,
-  0, 54, 64, 26, 13,161, 14,174, 10,149, 17,  1,161,  0,174,  4,149, 23,145, 17,140, 26,  7, 25, 13,  0, 48, 20, 16, 26, 16,252,
-236, 50,236, 49,  0, 16,228,244,236,244,236, 16,238,246,238, 48,180, 15, 27, 31, 27,  2,  1, 93,  1, 21, 46,  1, 35, 32,  0, 17,
- 16,  0, 33, 50, 54, 55, 21, 14,  1, 35, 32,  0, 17, 16,  0, 33, 50, 22,  5, 39,102,231,130,255,  0,254,240,  1, 16,  1,  0,130,
-231,102,106,237,132,254,173,254,122,  1,134,  1, 83,134,237,  5, 98,213, 95, 94,254,199,254,216,254,217,254,199, 94, 95,211, 72,
- 72,  1,159,  1,103,  1,104,  1,159, 71,  0,  0,  0,  2,  0,201,  0,  0,  5,176,  5,213,  0,  8,  0, 17,  0, 46, 64, 21,  0,149,
-  9,129,  1,149, 16,  8,  2, 16, 10,  0,  5, 25, 13, 50,  0, 28,  9,  4, 18, 16,252,236,244,236, 17, 57, 57, 57, 57, 49,  0, 47,
-236,244,236, 48,178, 96, 19,  1,  1, 93,  1, 17, 51, 32,  0, 17, 16,  0, 33, 37, 33, 32,  0, 17, 16,  0, 41,  1,  1,147,244,  1,
- 53,  1, 31,254,225,254,203,254, 66,  1,159,  1,178,  1,150,254,104,254, 80,254, 97,  5, 47,251,119,  1, 24,  1, 46,  1, 44,  1,
- 23,166,254,151,254,128,254,126,254,150,  0,  0,  0,  1,  0,201,  0,  0,  4,139,  5,213,  0, 11,  0, 46, 64, 21,  6,149,  4,  2,
-149,  0,129,  8,149,  4,173, 10,  5,  1,  9,  7,  3, 28,  0,  4, 12, 16,252,236, 50,212,196,196, 49,  0, 47,236,236,244,236, 16,
-238, 48,178, 31, 13,  1,  1, 93, 19, 33, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33,201,  3,176,253, 26,  2,199,253, 57,  2,248,252,
- 62,  5,213,170,254, 70,170,253,227,170,  0,  0,  0,  1,  0,201,  0,  0,  4, 35,  5,213,  0,  9,  0, 41, 64, 18,  6,149,  4,  2,
-149,  0,129,  4,173,  8,  5,  1,  7,  3, 28,  0,  4, 10, 16,252,236, 50,212,196, 49,  0, 47,236,244,236, 16,238, 48,178, 15, 11,
-  1,  1, 93, 19, 33, 21, 33, 17, 33, 21, 33, 17, 35,201,  3, 90,253,112,  2, 80,253,176,202,  5,213,170,254, 72,170,253, 55,  0,
-  0,  1,  0,115,255,227,  5,139,  5,240,  0, 29,  0, 57, 64, 32,  0,  5, 27,  1,149,  3, 27,149,  8, 18,161, 17,174, 21,149, 14,
-145,  8,140, 30,  2,  0, 28, 17, 52,  4, 51, 24, 25, 11, 16, 30, 16,252,236,252,228,252,196, 49,  0, 16,228,244,236,244,236, 16,
-254,212,238, 17, 57, 57, 48, 37, 17, 33, 53, 33, 17,  6,  4, 35, 32,  0, 17, 16,  0, 33, 50,  4, 23, 21, 46,  1, 35, 32,  0, 17,
- 16,  0, 33, 50, 54,  4,195,254,182,  2, 18,117,254,230,160,254,162,254,117,  1,139,  1, 94,146,  1,  7,111,112,252,139,254,238,
-254,237,  1, 19,  1, 18,107,168,213,  1,145,166,253,127, 83, 85,  1,153,  1,109,  1,110,  1,153, 72, 70,215, 95, 96,254,206,254,
-209,254,210,254,206, 37,  0,  0,  0,  1,  0,201,  0,  0,  5, 59,  5,213,  0, 11,  0, 44, 64, 20,  8,149,  2,173,  4,  0,129, 10,
-  6,  7,  3, 28,  5, 56,  9,  1, 28,  0,  4, 12, 16,252,236, 50,252,236, 50, 49,  0, 47, 60,228, 50,252,236, 48,178, 80, 13,  1,
-  1, 93, 19, 51, 17, 33, 17, 51, 17, 35, 17, 33, 17, 35,201,202,  2,222,202,202,253, 34,202,  5,213,253,156,  2,100,250, 43,  2,
-199,253, 57,  0,  0,  1,  0,201,  0,  0,  1,147,  5,213,  0,  3,  0, 46,183,  0,175,  2,  1, 28,  0,  4,  4, 16,252, 75,176, 16,
- 84, 88,185,  0,  0,  0, 64, 56, 89,236, 49,  0, 47,236, 48,  1, 64, 13, 48,  5, 64,  5, 80,  5, 96,  5,143,  5,159,  5,  6, 93,
- 19, 51, 17, 35,201,202,202,  5,213,250, 43,  0,  0,  1,255,150,254,102,  1,147,  5,213,  0, 11,  0, 66, 64, 19, 11,  2,  0,  7,
-149,  5,176,  0,129, 12,  5,  8,  6, 57,  1, 28,  0,  4, 12, 16,252, 75,176, 16, 84, 88,185,  0,  0,  0, 64, 56, 89,236,228, 57,
- 57, 49,  0, 16,228,252,236, 17, 57, 57, 48,  1, 64, 13, 48, 13, 64, 13, 80, 13, 96, 13,143, 13,159, 13,  6, 93, 19, 51, 17, 16,
-  6, 43,  1, 53, 51, 50, 54, 53,201,202,205,227, 77, 63,134,110,  5,213,250,147,254,242,244,170,150,194,  0,  0,  0,  1,  0,201,
-  0,  0,  5,106,  5,213,  0, 10,  0,239, 64, 40,  8, 17,  5,  6,  5,  7, 17,  6,  6,  5,  3, 17,  4,  5,  4,  2, 17,  5,  5,  4,
- 66,  8,  5,  2,  3,  3,  0,175,  9,  6,  5,  1,  4,  6,  8,  1, 28,  0,  4, 11, 16,252,236, 50,212,196, 17, 57, 49,  0, 47, 60,
-236, 50, 23, 57, 48, 75, 83, 88,  7, 16,  4,237,  7, 16,  5,237,  7, 16,  5,237,  7, 16,  4,237, 89, 34,178,  8,  3,  1,  1, 93,
- 64,146, 20,  2,  1,  4,  2,  9,  8, 22,  2, 40,  5, 40,  8, 55,  2, 54,  5, 52,  8, 71,  2, 70,  5, 67,  8, 85,  2,103,  2,118,
-  2,119,  5,131,  2,136,  5,143,  8,148,  2,155,  8,231,  2, 21,  6,  3,  9,  5,  9,  6, 27,  3, 25,  7,  5, 10,  3, 10,  7, 24,
-  3, 40,  5, 43,  6, 42,  7, 54,  4, 54,  5, 54,  6, 53,  7, 48, 12, 65,  3, 64,  4, 69,  5, 64,  6, 64,  7, 64, 12, 98,  3, 96,
-  4,104,  5,103,  7,119,  5,112, 12,139,  3,139,  5,142,  6,143,  7,143, 12,154,  3,157,  6,157,  7,182,  3,181,  7,197,  3,197,
-  7,215,  3,214,  7,232,  3,233,  4,232,  5,234,  6,247,  3,248,  5,249,  6, 44, 93,113,  0, 93,113, 19, 51, 17,  1, 33,  9,  1,
- 33,  1, 17, 35,201,202,  2,158,  1,  4,253, 27,  3, 26,254,246,253, 51,202,  5,213,253,137,  2,119,253, 72,252,227,  2,207,253,
- 49,  0,  0,  0,  0,  1,  0,201,  0,  0,  4,106,  5,213,  0,  5,  0, 37, 64, 12,  2,149,  0,129,  4,  1, 28,  3, 58,  0,  4,  6,
- 16,252,236,236, 49,  0, 47,228,236, 48, 64,  9, 48,  7, 80,  7,128,  3,128,  4,  4,  1, 93, 19, 51, 17, 33, 21, 33,201,202,  2,
-215,252, 95,  5,213,250,213,170,  0,  1,  0,201,  0,  0,  6, 31,  5,213,  0, 12,  0,191, 64, 52,  3, 17,  7,  8,  7,  2, 17,  1,
-  2,  8,  8,  7,  2, 17,  3,  2,  9, 10,  9,  1, 17, 10, 10,  9, 66, 10,  7,  2,  3,  8,  3,  0,175,  8, 11,  5,  9,  8,  3,  2,
-  1,  5, 10,  6, 28,  4, 62, 10, 28,  0,  4, 13, 16,252,236,252,236, 17, 23, 57, 49,  0, 47, 60,196,236, 50, 17, 23, 57, 48, 75,
- 83, 88,  7, 16,  5,237,  7, 16,  8,237,  7, 16,  8,237,  7, 16,  5,237, 89, 34,178,112, 14,  1,  1, 93, 64, 86,  3,  7, 15,  8,
- 15,  9,  2, 10, 21,  2, 20,  7, 19, 10, 38,  2, 38,  7, 32,  7, 38, 10, 32, 10, 52,  7, 53, 10,105,  2,124,  2,123,  7,121, 10,
-128,  2,130,  7,130, 10,144,  2, 22,  4,  1, 11,  3, 19,  1, 27,  3, 35,  1, 44,  3, 39,  8, 40,  9, 52,  1, 60,  3, 86,  8, 89,
-  9,101,  8,106,  9,118,  8,121,  9,129,  1,141,  3,149,  1,155,  3, 20, 93,  0, 93, 19, 33,  9,  1, 33, 17, 35, 17,  1, 35,  1,
- 17, 35,201,  1, 45,  1,125,  1,127,  1, 45,197,254,127,203,254,127,196,  5,213,252,  8,  3,248,250, 43,  5, 31,252,  0,  4,  0,
-250,225,  0,  0,  0,  1,  0,201,  0,  0,  5, 51,  5,213,  0,  9,  0,121, 64, 30,  7, 17,  1,  2,  1,  2, 17,  6,  7,  6, 66,  7,
-  2,  3,  0,175,  8,  5,  6,  1,  7,  2, 28,  4, 54,  7, 28,  0,  4, 10, 16,252,236,252,236, 17, 57, 57, 49,  0, 47, 60,236, 50,
- 57, 57, 48, 75, 83, 88,  7, 16,  4,237,  7, 16,  4,237, 89, 34,178, 31, 11,  1,  1, 93, 64, 48, 54,  2, 56,  7, 72,  2, 71,  7,
-105,  2,102,  7,128,  2,  7,  6,  1,  9,  6, 21,  1, 26,  6, 70,  1, 73,  6, 87,  1, 88,  6,101,  1,105,  6,121,  6,133,  1,138,
-  6,149,  1,154,  6,159, 11, 16, 93,  0, 93, 19, 33,  1, 17, 51, 17, 33,  1, 17, 35,201,  1, 16,  2,150,196,254,240,253,106,196,
-  5,213,251, 31,  4,225,250, 43,  4,225,251, 31,  0,  2,  0,115,255,227,  5,217,  5,240,  0, 11,  0, 23,  0, 35, 64, 19,  6,149,
- 18,  0,149, 12,145, 18,140, 24,  9, 25, 15, 51,  3, 25, 21, 16, 24, 16,252,236,252,236, 49,  0, 16,228,244,236, 16,238, 48,  1,
- 34,  0, 17, 16,  0, 51, 50,  0, 17, 16,  0, 39, 32,  0, 17, 16,  0, 33, 32,  0, 17, 16,  0,  3, 39,220,254,253,  1,  3,220,220,
-  1,  1,254,255,220,  1, 58,  1,120,254,136,254,198,254,197,254,135,  1,121,  5, 76,254,184,254,229,254,230,254,184,  1, 72,  1,
- 26,  1, 27,  1, 72,164,254, 91,254,158,254,159,254, 91,  1,164,  1, 98,  1, 98,  1,165,  0,  0,  0,  2,  0,201,  0,  0,  4,141,
-  5,213,  0,  8,  0, 19,  0, 58, 64, 24,  1,149, 16,  0,149,  9,129, 18, 16, 10,  8,  2,  4,  0,  5, 25, 13, 63, 17,  0, 28,  9,
-  4, 20, 16,252,236, 50,252,236, 17, 23, 57, 49,  0, 47,244,236,212,236, 48, 64, 11, 15, 21, 31, 21, 63, 21, 95, 21,175, 21,  5,
-  1, 93,  1, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50,  4, 21, 20,  4, 43,  1, 17, 35,  1,147,254,141,154,154,141,254, 56,  1,
-200,251,  1,  1,254,255,251,254,202,  5, 47,253,207,146,135,134,146,166,227,219,221,226,253,168,  0,  2,  0,115,254,248,  5,217,
-  5,240,  0, 11,  0, 29,  0, 82, 64, 42, 17, 16,  2, 15,  1, 12, 13, 12, 14,  1, 13, 13, 12, 66, 15, 30, 12,  6,149, 18,  0,149,
- 24,145, 18,140, 13, 30, 13, 27, 15, 12,  3,  9, 25, 27, 51,  3, 25, 21, 16, 30, 16,252,236,252,236, 17, 57, 57, 17, 57, 49,  0,
- 16,196,228,244,236, 16,238, 57, 18, 57, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  5,237, 23, 57, 89, 34,  1, 34,  0, 17, 16,  0,
- 51, 50,  0, 17, 16,  0, 19,  1, 35, 39, 14,  1, 35, 32,  0, 17, 16,  0, 33, 32,  0, 17, 16,  2,  3, 39,220,254,253,  1,  3,220,
-220,  1,  1,254,255, 63,  1, 10,244,221, 33, 35, 16,254,197,254,135,  1,121,  1, 59,  1, 58,  1,120,209,  5, 76,254,184,254,229,
-254,230,254,184,  1, 72,  1, 26,  1, 27,  1, 72,250,207,254,221,239,  2,  2,  1,165,  1, 97,  1, 98,  1,165,254, 91,254,158,254,
-252,254,142,  0,  0,  2,  0,201,  0,  0,  5, 84,  5,213,  0, 19,  0, 28,  0,177, 64, 53,  9,  8,  7,  3, 10,  6, 17,  3,  4,  3,
-  5, 17,  4,  4,  3, 66,  6,  4,  0, 21,  3,  4, 21,149,  9, 20,149, 13,129, 11,  4,  5,  6,  3, 17,  9,  0, 28, 22, 14,  5, 10,
- 25, 25,  4, 17, 63, 20, 10, 28, 12,  4, 29, 16,252,236, 50,252,196,236, 17, 23, 57, 17, 57, 57, 57, 49,  0, 47, 60,244,236,212,
-236, 18, 57, 18, 57, 18, 57, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  5,237, 17, 23, 57, 89, 34,178, 64, 30,  1,  1, 93, 64, 66,
-122, 19,  1,  5,  0,  5,  1,  5,  2,  6,  3,  7,  4, 21,  0, 21,  1, 20,  2, 22,  3, 23,  4, 37,  0, 37,  1, 37,  2, 38,  3, 39,
-  6, 38,  7, 38,  8, 38,  9, 32, 30, 54,  1, 54,  2, 70,  1, 70,  2,104,  5,117,  4,117,  5,119, 19,136,  6,136,  7,152,  6,152,
-  7, 31, 93,  0, 93,  1, 30,  1, 23, 19, 35,  3, 46,  1, 43,  1, 17, 35, 17, 33, 32, 22, 21, 20,  6,  1, 17, 51, 50, 54, 53, 52,
- 38, 35,  3,141, 65,123, 62,205,217,191, 74,139,120,220,202,  1,200,  1,  0,252,131,253,137,254,146,149,149,146,  2,188, 22,144,
-126,254,104,  1,127,150, 98,253,137,  5,213,214,216,141,186,  2, 79,253,238,135,131,131,133,  0,  0,  1,  0,135,255,227,  4,162,
-  5,240,  0, 39,  0,126, 64, 60, 13, 12,  2, 14, 11,  2, 30, 31, 30,  8,  9,  2,  7, 10,  2, 31, 31, 30, 66, 10, 11, 30, 31,  4,
- 21,  1,  0, 21,161, 20,148, 24,149, 17,  4,149,  0,148, 37,145, 17,140, 40, 30, 10, 11, 31, 27,  7,  0, 34, 27, 25, 14, 45,  7,
- 25, 20, 34, 40, 16,220,196,236,252,236,228, 17, 18, 57, 57, 57, 57, 49,  0, 16,228,244,228,236, 16,238,246,238, 16,198, 17, 23,
- 57, 48, 75, 83, 88,  7, 16, 14,237, 17, 23, 57,  7, 16, 14,237, 17, 23, 57, 89, 34,178, 15, 41,  1,  1, 93,182, 31, 41, 47, 41,
- 79, 41,  3, 93,  1, 21, 46,  1, 35, 34,  6, 21, 20, 22, 31,  1, 30,  1, 21, 20,  4, 33, 34, 38, 39, 53, 30,  1, 51, 50, 54, 53,
- 52, 38, 47,  1, 46,  1, 53, 52, 36, 51, 50, 22,  4, 72,115,204, 95,165,179,119,166,122,226,215,254,221,254,231,106,239,128,123,
-236,114,173,188,135,154,123,226,202,  1, 23,245,105,218,  5,164,197, 55, 54,128,118, 99,101, 31, 25, 43,217,182,217,224, 48, 47,
-208, 69, 70,136,126,110,124, 31, 24, 45,192,171,198,228, 38,  0,  0,  1,255,250,  0,  0,  4,233,  5,213,  0,  7,  0, 74, 64, 14,
-  6,  2,149,  0,129,  4,  1, 64,  3, 28,  0, 64,  5,  8, 16,212,228,252,228, 49,  0, 47,244,236, 50, 48,  1, 75,176, 10, 84, 88,
-189,  0,  8,  0, 64,  0,  1,  0,  8,  0,  8,255,192, 56, 17, 55, 56, 89, 64, 19,  0,  9, 31,  0, 16,  1, 16,  2, 31,  7, 16,  9,
- 64,  9,112,  9,159,  9,  9, 93,  3, 33, 21, 33, 17, 35, 17, 33,  6,  4,239,253,238,203,253,238,  5,213,170,250,213,  5, 43,  0,
-  0,  1,  0,178,255,227,  5, 41,  5,213,  0, 17,  0, 64, 64, 22,  8,  2, 17, 11,  0,  5,149, 14,140,  9,  0,129, 18,  8, 28, 10,
- 56,  1, 28,  0, 65, 18, 16,252, 75,176, 16, 84, 88,185,  0,  0,255,192, 56, 89,236,252,236, 49,  0, 16,228, 50,244,236, 17, 57,
- 57, 57, 57, 48,  1,182, 31, 19,143, 19,159, 19,  3, 93, 19, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 16,  0, 33, 32,  0, 17,
-178,203,174,195,194,174,203,254,223,254,230,254,229,254,223,  5,213,252,117,240,211,211,240,  3,139,252, 92,254,220,254,214,  1,
- 42,  1, 36,  0,  0,  1,  0, 16,  0,  0,  5,104,  5,213,  0,  6,  0,183, 64, 39,  4, 17,  5,  6,  5,  3, 17,  2,  3,  6,  6,  5,
-  3, 17,  4,  3,  0,  1,  0,  2, 17,  1,  1,  0, 66,  3,  4,  1,175,  0,  6,  4,  3,  2,  0,  5,  5,  1,  7, 16,212,196, 23, 57,
- 49,  0, 47,236, 50, 57, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  8,237,  7, 16,  8,237,  7, 16,  5,237, 89, 34,178, 80,  8,  1,
-  1, 93, 64, 98,  0,  3, 42,  3, 71,  4, 71,  5, 90,  3,125,  3,131,  3,  7,  6,  0,  7,  2,  8,  4,  9,  6, 21,  1, 20,  2, 26,
-  4, 26,  5, 42,  0, 38,  1, 38,  2, 41,  4, 41,  5, 37,  6, 32,  8, 56,  0, 51,  1, 51,  2, 60,  4, 60,  5, 55,  6, 72,  0, 69,
-  1, 69,  2, 73,  4, 73,  5, 71,  6, 89,  0, 86,  6,102,  2,105,  4,105,  5,122,  0,118,  1,118,  2,121,  4,121,  5,117,  6,128,
-  8,152,  0,151,  6, 41, 93,  0, 93, 33,  1, 51,  9,  1, 51,  1,  2, 74,253,198,211,  1,217,  1,218,210,253,199,  5,213,251, 23,
-  4,233,250, 43,  0,  1,  0, 68,  0,  0,  7,166,  5,213,  0, 12,  1,123, 64, 73,  5, 26,  6,  5,  9, 10,  9,  4, 26, 10,  9,  3,
- 26, 10, 11, 10,  2, 26,  1,  2, 11, 11, 10,  6, 17,  7,  8,  7,  5, 17,  4,  5,  8,  8,  7,  2, 17,  3,  2, 12,  0, 12,  1, 17,
-  0,  0, 12, 66, 10,  5,  2,  3,  6,  3,  0,175, 11,  8, 12, 11, 10,  9,  8,  6,  5,  4,  3,  2,  1, 11,  7,  0, 13, 16,212,204,
- 23, 57, 49,  0, 47, 60,236, 50, 50, 23, 57, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  8,237,  7, 16,  8,237,  7, 16,  5,237,  7,
- 16,  8,237,  7, 16,  5,237,  7,  5,237,  7, 16,  8,237, 89, 34,178,  0, 14,  1,  1, 93, 64,242,  6,  2,  6,  5,  2, 10,  0, 10,
-  0, 10, 18, 10, 40,  5, 36, 10, 32, 10, 62,  2, 62,  5, 52, 10, 48, 10, 76,  2, 77,  5, 66, 10, 64, 10, 89,  2,106,  2,107,  5,
-103, 10, 96, 10,123,  2,127,  2,124,  5,127,  5,128, 10,150,  2,149,  5, 29,  7,  0,  9,  2,  8,  3,  0,  4,  6,  5,  0,  5,  0,
-  6,  1,  7,  4,  8,  0,  8,  7,  9,  0,  9,  4, 10, 10, 12,  0, 14, 26,  3, 21,  4, 21,  8, 25, 12, 16, 14, 32,  4, 33,  5, 32,
-  6, 32,  7, 32,  8, 35,  9, 36, 10, 37, 11, 32, 14, 32, 14, 60,  2, 58,  3, 53,  4, 51,  5, 48,  8, 54,  9, 57, 11, 63, 12, 48,
- 14, 70,  0, 70,  1, 74,  2, 64,  4, 69,  5, 64,  5, 66,  6, 66,  7, 66,  8, 64,  8, 64,  9, 68, 10, 77, 12, 64, 14, 64, 14, 88,
-  2, 86,  8, 89, 12, 80, 14,102,  2,103,  3, 97,  4, 98,  5, 96,  6, 96,  7, 96,  8,100,  9,100, 10,100, 11,119,  0,118,  1,123,
-  2,120,  3,119,  4,116,  5,121,  6,121,  7,119,  8,112,  8,120, 12,127, 12,127, 14,134,  2,135,  3,136,  4,137,  5,133,  9,138,
- 11,143, 14,151,  4,159, 14,175, 14, 91, 93,  0, 93, 19, 51,  9,  1, 51,  9,  1, 51,  1, 35,  9,  1, 35, 68,204,  1, 58,  1, 57,
-227,  1, 58,  1, 57,205,254,137,254,254,197,254,194,254,  5,213,251, 18,  4,238,251, 18,  4,238,250, 43,  5, 16,250,240,  0,  0,
-  0,  1,  0, 61,  0,  0,  5, 59,  5,213,  0, 11,  0,102, 64,  6, 13,  4,  6,  0, 10, 12, 16,212,196,220,196,196, 49,180,128,  0,
-127, 10,  2, 93,  0, 64,  5,  3,  0,175,  9,  6, 47, 60,236, 50, 48, 75,176, 66, 80, 88, 64, 20,  7, 17,  6,  6,  5,  9, 17, 10,
- 11, 10,  3, 17,  4,  5,  4,  1, 17,  0, 11,  0,  5,  7, 16,236,  7, 16,236,  7, 16,236,  7, 16,236, 64, 20, 11, 10,  3,  7,  0,
-  8,  9,  4,  7,  0,  5,  9,  4,  6,  1,  2, 10,  3,  6,  1, 15, 15, 15, 15, 89, 19, 51,  9,  1, 51,  9,  1, 35,  9,  1, 35,  1,
-129,217,  1,115,  1,117,217,254, 32,  2,  0,217,254, 92,254, 89,218,  2, 21,  5,213,253,213,  2, 43,253, 51,252,248,  2,123,253,
-133,  3, 29,  0,  0,  1,255,252,  0,  0,  4,231,  5,213,  0,  8,  0,148, 64, 40,  3, 17,  4,  5,  4,  2, 17,  1,  2,  5,  5,  4,
-  2, 17,  3,  2,  8,  0,  8,  1, 17,  0,  0,  8, 66,  2,  3,  0,175,  6,  2,  7,  4, 64,  5, 28,  0, 64,  7,  9, 16,212,228,252,
-228, 18, 57, 49,  0, 47,236, 50, 57, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  8,237,  7, 16,  8,237,  7, 16,  5,237, 89, 34,178,
-  0, 10,  1,  1, 93, 64, 60,  5,  2, 20,  2, 53,  2, 48,  2, 48,  5, 48,  8, 70,  2, 64,  2, 64,  5, 64,  8, 81,  2, 81,  5, 81,
-  8,101,  2,132,  2,147,  2, 16, 22,  1, 26,  3, 31, 10, 38,  1, 41,  3, 55,  1, 56,  3, 64, 10,103,  1,104,  3,120,  3,112, 10,
-159, 10, 13, 93,  0, 93,  3, 51,  9,  1, 51,  1, 17, 35, 17,  4,217,  1,158,  1,155,217,253,240,203,  5,213,253,154,  2,102,252,
-242,253, 57,  2,199,  0,  0,  0,  0,  1,  0, 92,  0,  0,  5, 31,  5,213,  0,  9,  0,144, 64, 27,  3, 17,  7,  8,  7,  8, 17,  2,
-  3,  2, 66,  8,149,  0,129,  3,149,  5,  8,  3,  0,  1, 66,  4,  0,  6, 10, 16,220, 75,176,  9, 84, 75,176, 10, 84, 91, 88,185,
-  0,  6,255,192, 56, 89,196,212,228, 17, 57, 57, 49,  0, 47,236,244,236, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  5,237, 89, 34,
-  1, 64, 64,  5,  2, 10,  7, 24,  7, 41,  2, 38,  7, 56,  7, 72,  2, 71,  7, 72,  8,  9,  5,  3, 11,  8,  0, 11, 22,  3, 26,  8,
- 16, 11, 47, 11, 53,  3, 57,  8, 63, 11, 71,  3, 74,  8, 79, 11, 85,  3, 89,  8,102,  3,105,  8,111, 11,119,  3,120,  8,127, 11,
-159, 11, 22, 93,  0, 93, 19, 33, 21,  1, 33, 21, 33, 53,  1, 33,115,  4,149,252, 80,  3,199,251, 61,  3,176,252,103,  5,213,154,
-251,111,170,154,  4,145,  0,  0,  0,  1,  0,176,254,242,  2, 88,  6, 20,  0,  7,  0, 59, 64, 15,  4,169,  6,178,  2,169,  0,177,
-  8,  5,  1,  3, 67,  0,  8, 16,220, 75,176, 12, 84, 88,185,  0,  0,  0, 64, 56, 89, 75,176, 18, 84, 75,176, 19, 84, 91, 88,185,
-  0,  0,255,192, 56, 89,252,204, 50, 49,  0, 16,252,236,244,236, 48, 19, 33, 21, 35, 17, 51, 21, 33,176,  1,168,240,240,254, 88,
-  6, 20,143,249,252,143,  0,  0,  0,  1,  0,  0,255, 66,  2,178,  5,213,  0,  3,  0, 45, 64, 20,  2, 26,  1,  1,  0,  0, 26,  3,
-  3,  2, 66,  1,159,  0,129,  4,  2,  0,  1,  3, 47,196, 57, 57, 49,  0, 16,244,236, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  5,
-237, 89, 34, 19,  1, 35,  1,170,  2,  8,170,253,248,  5,213,249,109,  6,147,  0,  0,  1,  0,199,254,242,  2,111,  6, 20,  0,  7,
-  0, 48, 64, 16,  3,169,  1,178,  5,169,  0,177,  8,  0, 67,  4,  6,  2,  4,  8, 16,252, 75,176, 15, 84, 75,176, 16, 84, 91, 88,
-185,  0,  2,  0, 64, 56, 89, 60,220,236, 49,  0, 16,252,236,244,236, 48,  1, 17, 33, 53, 51, 17, 35, 53,  2,111,254, 88,239,239,
-  6, 20,248,222,143,  6,  4,143,  0,  1,  0,217,  3,168,  5,219,  5,213,  0,  6,  0, 24, 64, 10,  3,  4,  1,  0,129,  7,  3,  1,
-  5,  7, 16,220,204, 57, 49,  0, 16,244,204, 50, 57, 48,  9,  1, 35,  9,  1, 35,  1,  3,188,  2, 31,201,254, 72,254, 72,201,  2,
- 31,  5,213,253,211,  1,139,254,117,  2, 45,  0,  0,  1,255,236,254, 29,  4, 20,254,172,  0,  3,  0, 15,181,  0,169,  1,  0,  2,
-  4, 16,196,196, 49,  0,212,236, 48,  1, 21, 33, 53,  4, 20,251,216,254,172,143,143,  0,  0,  0,  0,  1,  0,170,  4,240,  2,137,
-  6,102,  0,  3,  0, 49, 64,  9,  1,180,  0,179,  4,  3, 68,  1,  4, 16,220,236, 49,  0, 16,244,236, 48,  0, 75,176,  9, 84, 75,
-176, 14, 84, 91, 88,189,  0,  4,255,192,  0,  1,  0,  4,  0,  4,  0, 64, 56, 17, 55, 56, 89,  9,  1, 35,  1,  1,111,  1, 26,153,
-254,186,  6,102,254,138,  1,118,  0,  2,  0,123,255,227,  4, 45,  4,123,  0, 10,  0, 37,  0,188, 64, 39, 25, 31, 11, 23,  9, 14,
-  0,169, 23,  6,185, 14, 17, 32,134, 31,186, 28,185, 35,184, 17,140, 23, 12,  0, 23,  3, 24, 13,  9,  8, 11, 31,  3,  8, 20, 69,
- 38, 16,252,236,204,212,236, 50, 50, 17, 57, 57, 49,  0, 47,196,228,244,252,244,236, 16,198,238, 16,238, 17, 57, 17, 57, 18, 57,
- 48, 64,110, 48, 29, 48, 30, 48, 31, 48, 32, 48, 33, 48, 34, 63, 39, 64, 29, 64, 30, 64, 31, 64, 32, 64, 33, 64, 34, 80, 29, 80,
- 30, 80, 31, 80, 32, 80, 33, 80, 34, 80, 39,112, 39,133, 29,135, 30,135, 31,135, 32,135, 33,133, 34,144, 39,160, 39,240, 39, 30,
- 48, 30, 48, 31, 48, 32, 48, 33, 64, 30, 64, 31, 64, 32, 64, 33, 80, 30, 80, 31, 80, 32, 80, 33, 96, 30, 96, 31, 96, 32, 96, 33,
-112, 30,112, 31,112, 32,112, 33,128, 30,128, 31,128, 32,128, 33, 24, 93,  1, 93,  1, 34,  6, 21, 20, 22, 51, 50, 54, 61,  1, 55,
- 17, 35, 53, 14,  1, 35, 34, 38, 53, 52, 54, 51, 33, 53, 52, 38, 35, 34,  6,  7, 53, 62,  1, 51, 50, 22,  2,190,223,172,129,111,
-153,185,184,184, 63,188,136,172,203,253,251,  1,  2,167,151, 96,182, 84,101,190, 90,243,240,  2, 51,102,123, 98,115,217,180, 41,
- 76,253,129,170,102, 97,193,162,189,192, 18,127,139, 46, 46,170, 39, 39,252,  0,  0,  2,  0,186,255,227,  4,164,  6, 20,  0, 11,
-  0, 28,  0, 56, 64, 25,  3,185, 12, 15,  9,185, 24, 21,140, 15,184, 27,151, 25,  0, 18, 18, 71, 24, 12,  6,  8, 26, 70, 29, 16,
-252,236, 50, 50,244,236, 49,  0, 47,236,228,244,196,236, 16,198,238, 48,182, 96, 30,128, 30,160, 30,  3,  1, 93,  1, 52, 38, 35,
- 34,  6, 21, 20, 22, 51, 50, 54,  1, 62,  1, 51, 50,  0, 17, 16,  2, 35, 34, 38, 39, 21, 35, 17, 51,  3,229,167,146,146,167,167,
-146,146,167,253,142, 58,177,123,204,  0,255,255,204,123,177, 58,185,185,  2, 47,203,231,231,203,203,231,231,  2, 82,100, 97,254,
-188,254,248,254,248,254,188, 97,100,168,  6, 20,  0,  1,  0,113,255,227,  3,231,  4,123,  0, 25,  0, 63, 64, 27,  0,134,  1,136,
-  4, 14,134, 13,136, 10,185, 17,  4,185, 23,184, 17,140, 26,  7, 18, 13,  0, 72, 20, 69, 26, 16,252,228, 50,236, 49,  0, 16,228,
-244,236, 16,254,244,238, 16,245,238, 48, 64, 11, 15, 27, 16, 27,128, 27,144, 27,160, 27,  5,  1, 93,  1, 21, 46,  1, 35, 34,  6,
- 21, 20, 22, 51, 50, 54, 55, 21, 14,  1, 35, 34,  0, 17, 16,  0, 33, 50, 22,  3,231, 78,157, 80,179,198,198,179, 80,157, 78, 77,
-165, 93,253,254,214,  1, 45,  1,  6, 85,162,  4, 53,172, 43, 43,227,205,205,227, 43, 43,170, 36, 36,  1, 62,  1, 14,  1, 18,  1,
- 58, 35,  0,  0,  0,  2,  0,113,255,227,  4, 90,  6, 20,  0, 16,  0, 28,  0, 56, 64, 25, 26,185,  0, 14, 20,185,  5,  8,140, 14,
-184,  1,151,  3, 23,  4,  0,  8,  2, 71, 17, 18, 11, 69, 29, 16,252,236,244,236, 50, 50, 49,  0, 47,236,228,244,196,236, 16,196,
-238, 48,182, 96, 30,128, 30,160, 30,  3,  1, 93,  1, 17, 51, 17, 35, 53, 14,  1, 35, 34,  2, 17, 16,  0, 51, 50, 22,  1, 20, 22,
- 51, 50, 54, 53, 52, 38, 35, 34,  6,  3,162,184,184, 58,177,124,203,255,  0,255,203,124,177,253,199,167,146,146,168,168,146,146,
-167,  3,182,  2, 94,249,236,168,100, 97,  1, 68,  1,  8,  1,  8,  1, 68, 97,254, 21,203,231,231,203,203,231,231,  0,  2,  0,113,
-255,227,  4,127,  4,123,  0, 20,  0, 27,  0,112, 64, 36,  0, 21,  1,  9,134,  8,136,  5, 21,169,  1,  5,185, 12,  1,187, 24,185,
- 18,184, 12,140, 28, 27, 21,  2,  8, 21,  8,  0, 75,  2, 18, 15, 69, 28, 16,252,236,244,236,196, 17, 18, 57, 49,  0, 16,228,244,
-236,228, 16,238, 16,238, 16,244,238, 17, 18, 57, 48, 64, 41, 63, 29,112, 29,160, 29,208, 29,240, 29,  5, 63,  0, 63,  1, 63,  2,
- 63, 21, 63, 27,  5, 44,  7, 47,  8, 47,  9, 44, 10,111,  0,111,  1,111,  2,111, 21,111, 27,  9, 93,113,  1, 93,  1, 21, 33, 30,
-  1, 51, 50, 54, 55, 21, 14,  1, 35, 32,  0, 17, 16,  0, 51, 50,  0,  7, 46,  1, 35, 34,  6,  7,  4,127,252,178, 12,205,183,106,
-199, 98, 99,208,107,254,244,254,199,  1, 41,252,226,  1,  7,184,  2,165,136,154,185, 14,  2, 94, 90,190,199, 52, 52,174, 42, 44,
-  1, 56,  1, 10,  1, 19,  1, 67,254,221,196,151,180,174,158,  0,  0,  1,  0, 47,  0,  0,  2,248,  6, 20,  0, 19,  0, 89, 64, 28,
-  5, 16,  1, 12,  8,169,  6,  1,135,  0,151, 14,  6,188, 10,  2, 19,  7,  0,  7,  9,  5,  8, 13, 15, 11, 76, 20, 16,252, 75,176,
- 10, 84, 88,185,  0, 11,  0, 64, 56, 89, 75,176, 14, 84, 88,185,  0, 11,255,192, 56, 89, 60,196,252, 60,196,196, 18, 57, 57, 49,
-  0, 47,228, 50,252,236, 16,238, 50, 18, 57, 57, 48,  1,182, 64, 21, 80, 21,160, 21,  3, 93,  1, 21, 35, 34,  6, 29,  1, 33, 21,
- 33, 17, 35, 17, 35, 53, 51, 53, 52, 54, 51,  2,248,176, 99, 77,  1, 47,254,209,185,176,176,174,189,  6, 20,153, 80,104, 99,143,
-252, 47,  3,209,143, 78,187,171,  0,  2,  0,113,254, 86,  4, 90,  4,123,  0, 11,  0, 40,  0, 74, 64, 35, 25, 12, 29,  9, 18,134,
- 19, 22,185, 15,  3,185, 38, 35,184, 39,188,  9,185, 15,189, 26, 29, 38, 25,  0,  8, 12, 71,  6, 18, 18, 32, 69, 41, 16,252,196,
-236,244,236, 50, 50, 49,  0, 47,196,228,236,228,244,196,236, 16,254,213,238, 17, 18, 57, 57, 48,182, 96, 42,128, 42,160, 42,  3,
-  1, 93,  1, 52, 38, 35, 34,  6, 21, 20, 22, 51, 50, 54, 23, 16,  2, 33, 34, 38, 39, 53, 30,  1, 51, 50, 54, 61,  1, 14,  1, 35,
- 34,  2, 17, 16, 18, 51, 50, 22, 23, 53, 51,  3,162,165,149,148,165,165,148,149,165,184,254,254,250, 97,172, 81, 81,158, 82,181,
-180, 57,178,124,206,252,252,206,124,178, 57,184,  2, 61,200,220,220,200,199,220,220,235,254,226,254,233, 29, 30,179, 44, 42,189,
-191, 91, 99, 98,  1, 58,  1,  3,  1,  4,  1, 58, 98, 99,170,  0,  0,  1,  0,186,  0,  0,  4,100,  6, 20,  0, 19,  0, 52, 64, 25,
-  3,  9,  0,  3, 14,  1,  6,135, 14, 17,184, 12,151, 10,  1,  2,  8,  0, 78, 13,  9,  8, 11, 70, 20, 16,252,236, 50,244,236, 49,
-  0, 47, 60,236,244,196,236, 17, 18, 23, 57, 48,178, 96, 21,  1,  1, 93,  1, 17, 35, 17, 52, 38, 35, 34,  6, 21, 17, 35, 17, 51,
- 17, 62,  1, 51, 50, 22,  4,100,184,124,124,149,172,185,185, 66,179,117,193,198,  2,164,253, 92,  2,158,159,158,190,164,253,135,
-  6, 20,253,158,101,100,239,  0,  0,  2,  0,193,  0,  0,  1,121,  6, 20,  0,  3,  0,  7,  0, 43, 64, 14,  6,190,  4,177,  0,188,
-  2,  5,  1,  8,  4,  0, 70,  8, 16,252, 60,236, 50, 49,  0, 47,228,252,236, 48, 64, 11, 16,  9, 64,  9, 80,  9, 96,  9,112,  9,
-  5,  1, 93, 19, 51, 17, 35, 17, 51, 21, 35,193,184,184,184,184,  4, 96,251,160,  6, 20,233,  0,  0,  2,255,219,254, 86,  1,121,
-  6, 20,  0, 11,  0, 15,  0, 68, 64, 28, 11,  2,  7,  0, 14,190, 12,  7,135,  5,189,  0,188, 12,177, 16,  8, 16,  5,  6, 79, 13,
-  1,  8, 12,  0, 70, 16, 16,252, 60,236, 50,228, 57, 18, 57, 49,  0, 16,236,228,244,236, 16,238, 17, 18, 57, 57, 48, 64, 11, 16,
- 17, 64, 17, 80, 17, 96, 17,112, 17,  5,  1, 93, 19, 51, 17, 20,  6, 43,  1, 53, 51, 50, 54, 53, 17, 51, 21, 35,193,184,163,181,
- 70, 49,105, 76,184,184,  4, 96,251,140,214,192,156, 97,153,  6, 40,233,  0,  0,  0,  1,  0,186,  0,  0,  4,156,  6, 20,  0, 10,
-  0,188, 64, 41,  8, 17,  5,  6,  5,  7, 17,  6,  6,  5,  3, 17,  4,  5,  4,  2, 17,  5,  5,  4, 66,  8,  5,  2,  3,  3,188,  0,
-151,  9,  6,  5,  1,  4,  6,  8,  1,  8,  0, 70, 11, 16,252,236, 50,212,196, 17, 57, 49,  0, 47, 60,236,228, 23, 57, 48, 75, 83,
- 88,  7, 16,  4,237,  7, 16,  5,237,  7, 16,  5,237,  7, 16,  4,237, 89, 34,178, 16, 12,  1,  1, 93, 64, 95,  4,  2, 10,  8, 22,
-  2, 39,  2, 41,  5, 43,  8, 86,  2,102,  2,103,  8,115,  2,119,  5,130,  2,137,  5,142,  8,147,  2,150,  5,151,  8,163,  2, 18,
-  9,  5,  9,  6,  2, 11,  3, 10,  7, 40,  3, 39,  4, 40,  5, 43,  6, 43,  7, 64, 12,104,  3, 96, 12,137,  3,133,  4,137,  5,141,
-  6,143,  7,154,  3,151,  7,170,  3,167,  5,182,  7,197,  7,214,  7,247,  3,240,  3,247,  4,240,  4, 26, 93,113,  0, 93, 19, 51,
- 17,  1, 51,  9,  1, 35,  1, 17, 35,186,185,  2, 37,235,253,174,  2,107,240,253,199,185,  6, 20,252,105,  1,227,253,244,253,172,
-  2, 35,253,221,  0,  1,  0,193,  0,  0,  1,121,  6, 20,  0,  3,  0, 34,183,  0,151,  2,  1,  8,  0, 70,  4, 16,252,236, 49,  0,
- 47,236, 48, 64, 13, 16,  5, 64,  5, 80,  5, 96,  5,112,  5,240,  5,  6,  1, 93, 19, 51, 17, 35,193,184,184,  6, 20,249,236,  0,
-  0,  1,  0,186,  0,  0,  7, 29,  4,123,  0, 34,  0, 90, 64, 38,  6, 18,  9, 24, 15,  0,  6, 29,  7, 21, 12,135, 29, 32,  3,184,
- 27,188, 25, 16,  7,  0, 17, 15,  8,  8,  6, 80, 17,  8, 15, 80, 28, 24,  8, 26, 70, 35, 16,252,236, 50,252,252,252,236, 17, 18,
- 57, 49,  0, 47, 60, 60,228,244, 60,196,236, 50, 17, 18, 23, 57, 48, 64, 19, 48, 36, 80, 36,112, 36,144, 36,160, 36,160, 36,191,
- 36,223, 36,255, 36,  9,  1, 93,  1, 62,  1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34,  6, 21, 17, 35, 17, 52, 38, 35, 34,  6,
- 21, 17, 35, 17, 51, 21, 62,  1, 51, 50, 22,  4, 41, 69,192,130,175,190,185,114,117,143,166,185,114,119,141,166,185,185, 63,176,
-121,122,171,  3,137,124,118,245,226,253, 92,  2,158,161,156,190,164,253,135,  2,158,162,155,191,163,253,135,  4, 96,174,103, 98,
-124,  0,  0,  0,  0,  1,  0,186,  0,  0,  4,100,  4,123,  0, 19,  0, 54, 64, 25,  3,  9,  0,  3, 14,  1,  6,135, 14, 17,184, 12,
-188, 10,  1,  2,  8,  0, 78, 13,  9,  8, 11, 70, 20, 16,252,236, 50,244,236, 49,  0, 47, 60,228,244,196,236, 17, 18, 23, 57, 48,
-180, 96, 21,207, 21,  2,  1, 93,  1, 17, 35, 17, 52, 38, 35, 34,  6, 21, 17, 35, 17, 51, 21, 62,  1, 51, 50, 22,  4,100,184,124,
-124,149,172,185,185, 66,179,117,193,198,  2,164,253, 92,  2,158,159,158,190,164,253,135,  4, 96,174,101,100,239,  0,  2,  0,113,
-255,227,  4,117,  4,123,  0, 11,  0, 23,  0, 74, 64, 19,  6,185, 18,  0,185, 12,184, 18,140, 24,  9, 18, 15, 81,  3, 18, 21, 69,
- 24, 16,252,236,244,236, 49,  0, 16,228,244,236, 16,238, 48, 64, 35, 63, 25,123,  0,123,  6,127,  7,127,  8,127,  9,127, 10,127,
- 11,123, 12,127, 13,127, 14,127, 15,127, 16,127, 17,123, 18,160, 25,240, 25, 17,  1, 93,  1, 34,  6, 21, 20, 22, 51, 50, 54, 53,
- 52, 38, 39, 50,  0, 17, 16,  0, 35, 34,  0, 17, 16,  0,  2,115,148,172,171,149,147,172,172,147,240,  1, 18,254,238,240,241,254,
-239,  1, 17,  3,223,231,201,201,231,232,200,199,233,156,254,200,254,236,254,237,254,199,  1, 57,  1, 19,  1, 20,  1, 56,  0,  0,
-  0,  2,  0,186,254, 86,  4,164,  4,123,  0, 16,  0, 28,  0, 62, 64, 27, 26,185,  0, 14, 20,185,  5,  8,184, 14,140,  1,189,  3,
-188, 29, 17, 18, 11, 71, 23,  4,  0,  8,  2, 70, 29, 16,252,236, 50, 50,244,236, 49,  0, 16,228,228,228,244,196,236, 16,196,238,
- 48, 64,  9, 96, 30,128, 30,160, 30,224, 30,  4,  1, 93, 37, 17, 35, 17, 51, 21, 62,  1, 51, 50,  0, 17, 16,  2, 35, 34, 38,  1,
- 52, 38, 35, 34,  6, 21, 20, 22, 51, 50, 54,  1,115,185,185, 58,177,123,204,  0,255,255,204,123,177,  2, 56,167,146,146,167,167,
-146,146,167,168,253,174,  6, 10,170,100, 97,254,188,254,248,254,248,254,188, 97,  1,235,203,231,231,203,203,231,231,  0,  0,  0,
-  0,  2,  0,113,254, 86,  4, 90,  4,123,  0, 11,  0, 28,  0, 62, 64, 27,  3,185, 12, 15,  9,185, 24, 21,184, 15,140, 27,189, 25,
-188, 29, 24, 12,  6,  8, 26, 71,  0, 18, 18, 69, 29, 16,252,236,244,236, 50, 50, 49,  0, 16,228,228,228,244,196,236, 16,198,238,
- 48, 64,  9, 96, 30,128, 30,160, 30,224, 30,  4,  1, 93,  1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34,  6,  1, 14,  1, 35, 34,  2,
- 17, 16,  0, 51, 50, 22, 23, 53, 51, 17, 35,  1, 47,167,146,146,168,168,146,146,167,  2,115, 58,177,124,203,255,  0,255,203,124,
-177, 58,184,184,  2, 47,203,231,231,203,203,231,231,253,174,100, 97,  1, 68,  1,  8,  1,  8,  1, 68, 97,100,170,249,246,  0,  0,
-  0,  1,  0,186,  0,  0,  3, 74,  4,123,  0, 17,  0, 48, 64, 20,  6, 11,  7,  0, 17, 11,  3,135, 14,184,  9,188,  7, 10,  6,  8,
-  0,  8, 70, 18, 16,252,196,236, 50, 49,  0, 47,228,244,236,196,212,204, 17, 18, 57, 48,180, 80, 19,159, 19,  2,  1, 93,  1, 46,
-  1, 35, 34,  6, 21, 17, 35, 17, 51, 21, 62,  1, 51, 50, 22, 23,  3, 74, 31, 73, 44,156,167,185,185, 58,186,133, 19, 46, 28,  3,
-180, 18, 17,203,190,253,178,  4, 96,174,102, 99,  5,  5,  0,  0,  0,  1,  0,111,255,227,  3,199,  4,123,  0, 39,  0,231, 64, 60,
- 13, 12,  2, 14, 11, 83, 31, 30,  8,  9,  2,  7, 10, 83, 30, 31, 30, 66, 10, 11, 30, 31,  4, 21,  0,134,  1,137,  4, 20,134, 21,
-137, 24,185, 17,  4,185, 37,184, 17,140, 40, 30, 10, 11, 31, 27,  7,  0, 82, 27,  8, 14,  7,  8, 20, 34, 69, 40, 16,252,196,236,
-212,236,228, 17, 18, 57, 57, 57, 57, 49,  0, 16,228,244,236, 16,254,245,238, 16,245,238, 18, 23, 57, 48, 75, 83, 88,  7, 16, 14,
-237, 17, 23, 57,  7, 14,237, 17, 23, 57, 89, 34,178,  0, 39,  1,  1, 93, 64,109, 28, 10, 28, 11, 28, 12, 46,  9, 44, 10, 44, 11,
- 44, 12, 59,  9, 59, 10, 59, 11, 59, 12, 11, 32,  0, 32,  1, 36,  2, 40, 10, 40, 11, 42, 19, 47, 20, 47, 21, 42, 22, 40, 30, 40,
- 31, 41, 32, 41, 33, 36, 39,134, 10,134, 11,134, 12,134, 13, 18,  0,  0,  0,  1,  2,  2,  6, 10,  6, 11,  3, 12,  3, 13,  3, 14,
-  3, 15,  3, 16,  3, 25,  3, 26,  3, 27,  3, 28,  4, 29,  9, 39, 47, 41, 63, 41, 95, 41,127, 41,128, 41,144, 41,160, 41,240, 41,
- 24, 93,  0, 93,113,  1, 21, 46,  1, 35, 34,  6, 21, 20, 22, 31,  1, 30,  1, 21, 20,  6, 35, 34, 38, 39, 53, 30,  1, 51, 50, 54,
- 53, 52, 38, 47,  1, 46,  1, 53, 52, 54, 51, 50, 22,  3,139, 78,168, 90,137,137, 98,148, 63,196,165,247,216, 90,195,108,102,198,
- 97,130,140,101,171, 64,171,152,224,206,102,180,  4, 63,174, 40, 40, 84, 84, 64, 73, 33, 14, 42,153,137,156,182, 35, 35,190, 53,
- 53, 89, 81, 75, 80, 37, 15, 36,149,130,158,172, 30,  0,  0,  0,  0,  1,  0, 55,  0,  0,  2,242,  5,158,  0, 19,  0, 56, 64, 25,
- 14,  5,  8, 15,  3,169,  0, 17,  1,188,  8,135, 10, 11,  8,  9,  2,  4,  0,  8, 16, 18, 14, 70, 20, 16,252, 60,196,252, 60,196,
- 50, 57, 57, 49,  0, 47,236,244, 60,196,236, 50, 17, 57, 57, 48,178,175, 21,  1,  1, 93,  1, 17, 33, 21, 33, 17, 20, 22, 59,  1,
- 21, 35, 34, 38, 53, 17, 35, 53, 51, 17,  1,119,  1,123,254,133, 75,115,189,189,213,162,135,135,  5,158,254,194,143,253,160,137,
- 78,154,159,210,  2, 96,143,  1, 62,  0,  0,  0,  0,  1,  0,174,255,227,  4, 88,  4, 96,  0, 19,  0, 54, 64, 25,  3,  9,  0,  3,
- 14,  1,  6,135, 14, 17,140, 10,  1,188, 12, 13,  9,  8, 11, 78,  2,  8,  0, 70, 20, 16,252,236,244,236, 50, 49,  0, 47,228, 50,
-244,196,236, 17, 18, 23, 57, 48,180, 96, 21,207, 21,  2,  1, 93, 19, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14,
-  1, 35, 34, 38,174,184,124,124,149,173,184,184, 67,177,117,193,200,  1,186,  2,166,253, 97,159,159,190,164,  2,123,251,160,172,
-102, 99,240,  0,  0,  1,  0, 61,  0,  0,  4,127,  4, 96,  0,  6,  0,251, 64, 39,  3, 17,  4,  5,  4,  2, 17,  1,  2,  5,  5,  4,
-  2, 17,  3,  2,  6,  0,  6,  1, 17,  0,  0,  6, 66,  2,  3,  0,191,  5,  6,  5,  3,  2,  1,  5,  4,  0,  7, 16,212, 75,176, 10,
- 84, 88,185,  0,  0,  0, 64, 56, 89, 75,176, 20, 84, 75,176, 21, 84, 91, 88,185,  0,  0,255,192, 56, 89,196, 23, 57, 49,  0, 47,
-236, 50, 57, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  8,237,  7, 16,  8,237,  7, 16,  5,237, 89, 34,  1, 64,142, 72,  2,106,  2,
-123,  2,127,  2,134,  2,128,  2,145,  2,164,  2,  8,  6,  0,  6,  1,  9,  3,  9,  4, 21,  0, 21,  1, 26,  3, 26,  4, 38,  0, 38,
-  1, 41,  3, 41,  4, 32,  8, 53,  0, 53,  1, 58,  3, 58,  4, 48,  8, 70,  0, 70,  1, 73,  3, 73,  4, 70,  5, 72,  6, 64,  8, 86,
-  0, 86,  1, 89,  3, 89,  4, 80,  8,102,  0,102,  1,105,  3,105,  4,103,  5,104,  6, 96,  8,117,  0,116,  1,123,  3,123,  4,117,
-  5,122,  6,133,  0,133,  1,137,  3,137,  4,137,  5,134,  6,150,  0,150,  1,151,  2,154,  3,152,  4,152,  5,151,  6,168,  5,167,
-  6,176,  8,192,  8,223,  8,255,  8, 62, 93,  0, 93, 19, 51,  9,  1, 51,  1, 35, 61,195,  1, 94,  1, 94,195,254, 92,250,  4, 96,
-252, 84,  3,172,251,160,  0,  0,  0,  1,  0, 86,  0,  0,  6, 53,  4, 96,  0, 12,  1,235, 64, 73,  5, 85,  6,  5,  9, 10,  9,  4,
- 85, 10,  9,  3, 85, 10, 11, 10,  2, 85,  1,  2, 11, 11, 10,  6, 17,  7,  8,  7,  5, 17,  4,  5,  8,  8,  7,  2, 17,  3,  2, 12,
-  0, 12,  1, 17,  0,  0, 12, 66, 10,  5,  2,  3,  6,  3,  0,191, 11,  8, 12, 11, 10,  9,  8,  6,  5,  4,  3,  2,  1, 11,  7,  0,
- 13, 16,212, 75,176, 10, 84, 75,176, 17, 84, 91, 75,176, 18, 84, 91, 75,176, 19, 84, 91, 75,176, 11, 84, 91, 88,185,  0,  0,  0,
- 64, 56, 89,  1, 75,176, 12, 84, 75,176, 13, 84, 91, 75,176, 16, 84, 91, 88,185,  0,  0,255,192, 56, 89,204, 23, 57, 49,  0, 47,
- 60,236, 50, 50, 23, 57, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  8,237,  7, 16,  8,237,  7, 16,  5,237,  7, 16,  8,237,  7, 16,
-  5,237,  7,  5,237,  7, 16,  8,237, 89, 34,  1, 64,255,  5,  2, 22,  2, 22,  5, 34, 10, 53, 10, 73,  2, 73,  5, 70, 10, 64, 10,
- 91,  2, 91,  5, 85, 10, 80, 10,110,  2,110,  5,102, 10,121,  2,127,  2,121,  5,127,  5,135,  2,153,  2,152,  5,148, 10,188,  2,
-188,  5,206,  2,199,  3,207,  5, 29,  5,  2,  9,  3,  6,  4, 11,  5, 10,  8, 11,  9,  4, 11,  5, 12, 21,  2, 25,  3, 22,  4, 26,
-  5, 27,  8, 27,  9, 20, 11, 21, 12, 37,  0, 37,  1, 35,  2, 39,  3, 33,  4, 37,  5, 34,  6, 34,  7, 37,  8, 39,  9, 36, 10, 33,
- 11, 35, 12, 57,  3, 54,  4, 54,  8, 57, 12, 48, 14, 70,  2, 72,  3, 70,  4, 64,  4, 66,  5, 64,  6, 64,  7, 64,  8, 68,  9, 68,
- 10, 68, 11, 64, 14, 64, 14, 86,  0, 86,  1, 86,  2, 80,  4, 81,  5, 82,  6, 82,  7, 80,  8, 83,  9, 84, 10, 85, 11, 99,  0,100,
-  1,101,  2,106,  3,101,  4,106,  5,106,  6,106,  7,110,  9, 97, 11,103, 12,111, 14,117,  0,117,  1,121,  2,125,  3,120,  4,125,
-  5,122,  6,127,  6,122,  7,127,  7,120,  8,121,  9,127,  9,123, 10,118, 11,125, 12,135,  2,136,  5,143, 14,151,  0,151,  1,148,
-  2,147,  3,156,  4,155,  5,152,  6,152,  7,153,  8, 64, 47,150, 12,159, 14,166,  0,166,  1,164,  2,164,  3,171,  4,171,  5,169,
-  6,169,  7,171,  8,164, 12,175, 14,181,  2,177,  3,189,  4,187,  5,184,  9,191, 14,196,  2,195,  3,204,  4,202,  5,121, 93,  0,
- 93, 19, 51, 27,  1, 51, 27,  1, 51,  1, 35, 11,  1, 35, 86,184,230,229,217,230,229,184,254,219,217,241,242,217,  4, 96,252,150,
-  3,106,252,150,  3,106,251,160,  3,150,252,106,  0,  1,  0, 59,  0,  0,  4,121,  4, 96,  0, 11,  1, 67, 64, 70,  5, 17,  6,  7,
-  6,  4, 17,  3,  4,  7,  7,  6,  4, 17,  5,  4,  1,  2,  1,  3, 17,  2,  2,  1, 11, 17,  0,  1,  0, 10, 17,  9, 10,  1,  1,  0,
- 10, 17, 11, 10,  7,  8,  7,  9, 17,  8,  8,  7, 66, 10,  7,  4,  1,  4,  8,  0,191,  5,  2, 10,  7,  4,  1,  4,  8,  0,  2,  8,
-  6, 12, 16,212, 75,176, 10, 84, 75,176, 15, 84, 91, 75,176, 16, 84, 91, 75,176, 17, 84, 91, 88,185,  0,  6,  0, 64, 56, 89, 75,
-176, 20, 84, 88,185,  0,  6,255,192, 56, 89,196,212,196, 17, 23, 57, 49,  0, 47, 60,236, 50, 23, 57, 48, 75, 83, 88,  7, 16,  5,
-237,  7, 16,  8,237,  7, 16,  8,237,  7, 16,  5,237,  7, 16,  5,237,  7, 16,  8,237,  7, 16,  8,237,  7, 16,  5,237, 89, 34,  1,
- 64,152, 10,  4,  4, 10, 26,  4, 21, 10, 38, 10, 61,  4, 49, 10, 85,  4, 87,  7, 88, 10,102, 10,118,  1,122,  4,118,  7,116, 10,
-141,  4,130, 10,153,  4,159,  4,151,  7,146, 10,144, 10,166,  1,169,  4,175,  4,165,  7,163, 10,160, 10, 28, 10,  3,  4,  5,  5,
-  9, 10, 11, 26,  3, 21,  5, 21,  9, 26, 11, 41,  3, 38,  5, 37,  9, 42, 11, 32, 13, 58,  1, 57,  3, 55,  5, 52,  7, 54,  9, 57,
- 11, 48, 13, 73,  3, 70,  5, 69,  9, 74, 11, 64, 13, 89,  0, 86,  1, 89,  2, 89,  3, 87,  5, 86,  6, 89,  7, 86,  8, 86,  9, 89,
- 11, 80, 13,111, 13,120,  1,127, 13,155,  1,148,  7,171,  1,164,  7,176, 13,207, 13,223, 13,255, 13, 47, 93,  0, 93,  9,  2, 35,
-  9,  1, 35,  9,  1, 51,  9,  1,  4,100,254,107,  1,170,217,254,186,254,186,217,  1,179,254,114,217,  1, 41,  1, 41,  4, 96,253,
-223,253,193,  1,184,254, 72,  2, 74,  2, 22,254,113,  1,143,  0,  0,  1,  0, 61,254, 86,  4,127,  4, 96,  0, 15,  1,139, 64, 67,
-  7,  8,  2,  9, 17,  0, 15, 10, 17, 11, 10,  0,  0, 15, 14, 17, 15,  0, 15, 13, 17, 12, 13,  0,  0, 15, 13, 17, 14, 13, 10, 11,
- 10, 12, 17, 11, 11, 10, 66, 13, 11,  9, 16,  0, 11,  5,135,  3,189, 14, 11,188, 16, 14, 13, 12, 10,  9,  6,  3,  0,  8, 15,  4,
- 15, 11, 16, 16,212, 75,176, 10, 84, 75,176,  8, 84, 91, 88,185,  0, 11,  0, 64, 56, 89, 75,176, 20, 84, 88,185,  0, 11,255,192,
- 56, 89,196,196, 17, 23, 57, 49,  0, 16,228, 50,244,236, 17, 57, 17, 57, 18, 57, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  8,237,
-  7, 16,  8,237,  7, 16,  5,237,  7, 16,  8,237,  7,  5,237, 23, 50, 89, 34,  1, 64,240,  6,  0,  5,  8,  6,  9,  3, 13, 22, 10,
- 23, 13, 16, 13, 35, 13, 53, 13, 73, 10, 79, 10, 78, 13, 90,  9, 90, 10,106, 10,135, 13,128, 13,147, 13, 18, 10,  0, 10,  9,  6,
- 11,  5, 12, 11, 14, 11, 15, 23,  1, 21,  2, 16,  4, 16,  5, 23, 10, 20, 11, 20, 12, 26, 14, 26, 15, 39,  0, 36,  1, 36,  2, 32,
-  4, 32,  5, 41,  8, 40,  9, 37, 10, 36, 11, 36, 12, 39, 13, 42, 14, 42, 15, 32, 17, 55,  0, 53,  1, 53,  2, 48,  4, 48,  5, 56,
- 10, 54, 11, 54, 12, 56, 13, 57, 14, 57, 15, 48, 17, 65,  0, 64,  1, 64,  2, 64,  3, 64,  4, 64,  5, 64,  6, 64,  7, 64,  8, 66,
-  9, 69, 10, 71, 13, 73, 14, 73, 15, 64, 17, 84,  0, 81,  1, 81,  2, 85,  3, 80,  4, 80,  5, 86,  6, 85,  7, 86,  8, 87,  9, 87,
- 10, 85, 11, 85, 12, 89, 14, 89, 15, 80, 17,102,  1,102,  2,104, 10,105, 14,105, 15, 96, 17,123,  8,120, 14,120, 15,137,  0,138,
-  9,133, 11,133, 12,137, 13,137, 14,137, 15,153,  9,149, 11,149, 12,154, 14,154, 15,164, 11,164, 12,171, 14,171, 15,176, 17,207,
- 17,223, 17,255, 17,101, 93,  0, 93,  5, 14,  1, 43,  1, 53, 51, 50, 54, 63,  1,  1, 51,  9,  1, 51,  2,147, 78,148,124,147,108,
- 76, 84, 51, 33,254, 59,195,  1, 94,  1, 94,195,104,200,122,154, 72,134, 84,  4, 78,252,148,  3,108,  0,  0,  0,  0,  1,  0, 88,
-  0,  0,  3,219,  4, 96,  0,  9,  0,157, 64, 26,  8, 17,  2,  3,  2,  3, 17,  7,  8,  7, 66,  8,169,  0,188,  3,169,  5,  8,  3,
-  1,  0,  4,  1,  6, 10, 16,220, 75,176, 11, 84, 75,176, 12, 84, 91, 88,185,  0,  6,255,192, 56, 89, 75,176, 19, 84, 88,185,  0,
-  6,  0, 64, 56, 89,196, 50,196, 17, 57, 57, 49,  0, 47,236,244,236, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  5,237, 89, 34,  1,
- 64, 66,  5,  2, 22,  2, 38,  2, 71,  2, 73,  7,  5, 11,  8, 15, 11, 24,  3, 27,  8, 43,  8, 32, 11, 54,  3, 57,  8, 48, 11, 64,
-  1, 64,  2, 69,  3, 64,  4, 64,  5, 67,  8, 87,  3, 89,  8, 95, 11, 96,  1, 96,  2,102,  3, 96,  4, 96,  5, 98,  8,127, 11,128,
- 11,175, 11, 27, 93,  0, 93, 19, 33, 21,  1, 33, 21, 33, 53,  1, 33,113,  3,106,253, 76,  2,180,252,125,  2,180,253,101,  4, 96,
-168,252,219,147,168,  3, 37,  0,  0,  1,  1,  0,254,178,  4, 23,  6, 20,  0, 36,  0,119, 64, 52, 25, 15, 21, 11,  6, 37,  9, 26,
- 16, 21, 29, 11,  5, 32, 33,  3,  0, 11,169,  9,  0,169,  1,192,  9, 21,169, 19,177, 37, 12,  9, 10,  5, 36, 22, 25,  0, 29, 10,
-  5, 19,  2, 20,  0, 32, 25, 67, 10, 15,  5, 37, 16,212, 75,176, 12, 84, 88,185,  0,  5,  0, 64, 56, 89, 60,196,252, 60,196, 50,
- 57, 57, 17, 18, 57, 17, 18, 57, 57, 17, 18, 57, 57, 49,  0, 16,252,236,196,244,236, 16,238, 18, 23, 57, 18, 57, 17, 57, 57, 17,
- 18, 57, 17, 18, 57, 57, 48,  1,178,  0, 38,  1, 93,  5, 21, 35, 34, 38, 61,  1, 52, 38, 43,  1, 53, 51, 50, 54, 61,  1, 52, 54,
- 59,  1, 21, 35, 34,  6, 29,  1, 20,  6,  7, 30,  1, 29,  1, 20, 22, 51,  4, 23, 62,249,169,108,142, 61, 61,143,107,169,249, 62,
- 68,141, 86, 91,110,111, 90, 86,141,190,144,148,221,239,151,116,143,115,149,240,221,147,143, 88,141,248,157,142, 25, 27,142,156,
-248,141, 88,  0,  0,  1,  1,  4,254, 29,  1,174,  6, 29,  0,  3,  0, 18,183,  1,  0,177,  4,  0,  5,  2,  4, 16,212,236, 49,  0,
- 16,252,204, 48,  1, 17, 35, 17,  1,174,170,  6, 29,248,  0,  8,  0,  0,  0,  0,  0,  1,  1,  0,254,178,  4, 23,  6, 20,  0, 36,
-  0,135, 64, 54, 31, 37, 27, 22, 12, 15,  8, 27, 11, 21, 25, 15,  4,  5, 32,  3,  0, 25,169, 27,  0,169, 35,192, 27, 15,169, 17,
-177, 37, 28, 25, 26, 21, 15,  1,  4,  0,  8, 26, 21, 35, 18,  4,  0, 26, 31, 21, 67, 16,  0, 11,  4, 37, 16,212, 75,176, 10, 84,
- 88,185,  0,  4,255,192, 56, 89, 75,176, 14, 84, 88,185,  0,  4,  0, 64, 56, 89, 60,196, 50,252, 60,196, 17, 18, 57, 57, 17, 18,
- 57, 17, 18, 57, 57, 17, 18, 57, 57, 49,  0, 16,252,236,196,244,236, 16,238, 18, 23, 57, 17, 18, 57, 57, 17, 57, 17, 57, 57, 17,
- 18, 57, 48,  1,178,  0, 38,  1, 93,  5, 51, 50, 54, 61,  1, 52, 54, 55, 46,  1, 61,  1, 52, 38, 43,  1, 53, 51, 50, 22, 29,  1,
- 20, 22, 59,  1, 21, 35, 34,  6, 29,  1, 20,  6, 43,  1,  1,  0, 70,140, 85, 90,111,111, 90, 85,140, 70, 63,249,167,108,142, 62,
- 62,142,108,167,249, 63,190, 86,143,248,156,142, 27, 25,142,157,248,142, 87,143,147,221,240,149,115,143,116,151,239,221,148,  0,
-  0,  1,  0,217,  1,211,  5,219,  3, 49,  0, 29,  0, 35, 64, 16,  1, 16, 27, 12,  0, 19,  4,156, 27, 19,156, 12, 30,  0, 15, 30,
- 16,212,196, 49,  0, 16,212,252,212,236, 16,192, 17, 18, 57, 57, 48,  1, 21, 14,  1, 35, 34, 39, 38, 39, 38, 39, 38, 35, 34,  6,
-  7, 53, 62,  1, 51, 50, 23, 22, 23, 22, 23, 22, 51, 50, 54,  5,219,105,179, 97,110,146, 11,  5,  7, 15,155, 94, 88,172, 98,105,
-179, 97,110,147, 10,  5,  8, 14,155, 94, 86,169,  3, 49,178, 79, 68, 59,  4,  2,  3,  5, 62, 77, 83,178, 79, 69, 60,  4,  2,  3,
-  5, 62, 76,  0,  0,  2,  1, 53,  0,  0,  2,  0,  5,213,  0,  3,  0,  9,  0, 98, 64, 15,  7,  0,131,  2,129,  4,  8,  7,  4,  0,
-  3,  5,  1,  0, 10, 16,252, 60,236, 50, 57, 57, 49,  0, 47,244,252,204, 48,  1, 75,176, 11, 84, 88,189,  0, 10,  0, 64,  0,  1,
-  0, 10,  0, 10,255,192, 56, 17, 55, 56, 89,  1, 75,176, 15, 84, 75,176, 16, 84, 91, 75,176, 19, 84, 91, 88,189,  0, 10,255,192,
-  0,  1,  0, 10,  0, 10,  0, 64, 56, 17, 55, 56, 89,182,  0, 11, 32, 11, 80, 11,  3, 93,  1, 35, 53, 51, 17, 35, 17, 19, 51, 19,
-  2,  0,203,203,203, 21,162, 20,  4,215,254,250, 43,  2,143,  1,101,254,155,  0,  0,  2,  0,172,254,199,  4, 35,  5,152,  0,  6,
-  0, 33,  0, 81, 64, 43, 19, 22, 20,  0, 15, 12,  1, 11,  7,134,  8,136, 11, 16,134, 15,136, 12,185, 20, 22, 11,185, 29, 31, 28,
-184, 22,140, 34, 28, 21,  0,  9, 30, 19, 11, 15,  7,  4, 18, 25, 34, 16,220,236,212, 60,212, 60, 60,236, 50, 50, 49,  0, 16,228,
-244, 60,196,236, 16,196,254,244,238, 16,245,238, 18, 57, 17, 18, 57, 17, 18, 57, 48, 37, 17, 14,  1, 21, 20, 22,  1, 21, 46,  1,
- 39,  3, 62,  1, 55, 21, 14,  1,  7, 17, 35, 17, 38,  0, 17, 16,  0, 55, 17, 51, 19, 30,  1,  2,166,147,164,164,  2, 16, 74,136,
- 68,  1, 70,137, 72, 65,137, 77,102,241,254,247,  1,  9,241,102,  1, 73,137,131,  3, 88, 18,226,184,185,226,  3,161,172, 41, 42,
-  3,252,160,  5, 42, 39,170, 30, 35,  7,254,228,  1, 32, 20,  1, 51,  1,  1,  1,  2,  1, 50, 22,  1, 31,254,225,  4, 33,  0,  0,
-  0,  1,  0,129,  0,  0,  4, 98,  5,240,  0, 27,  0, 96, 64, 33,  7, 22,  8,  1,134,  0, 18, 10,169, 20,  8, 12,  4,160,  0,148,
- 25,145, 16, 12,160, 14,  0, 13,  9, 11,  7, 28, 19, 15, 21, 17, 28, 16,220, 60,204,204,252, 60,196,212,196, 49,  0, 47,236, 50,
-244,228,236, 16,212, 60,238, 50, 16,238, 17, 57, 57, 48,  1, 75,176, 12, 84, 88,189,  0, 28,255,192,  0,  1,  0, 28,  0, 28,  0,
- 64, 56, 17, 55, 56, 89,180, 54,  1, 54,  2,  2,  0, 93,  1, 21, 46,  1, 35, 34,  6, 29,  1, 33, 21, 33, 17, 33, 21, 33, 53, 51,
- 17, 35, 53, 51, 53, 16, 54, 51, 50, 22,  4, 78, 76,136, 61,148,116,  1,135,254,121,  2, 45,252, 31,236,199,199,214,232, 61,151,
-  5,180,182, 41, 41,155,212,215,143,254, 47,170,170,  1,209,143,238,  1,  5,243, 31,  0,  0,  0,  0,  2,  0, 94,  0, 82,  4,188,
-  4,178,  0, 35,  0, 47,  0,131, 64, 73,  3,  9, 27, 21,  4, 45, 30,  0, 39, 28,  2, 33, 29, 12, 18, 45, 20, 11, 10,  3, 19, 15,
-  1, 29, 45,185, 19,235, 15,236, 39,185, 29,235, 33, 48, 30, 12,  0, 18,  4, 42, 36, 20, 48, 28, 21, 27, 42, 29, 19, 28, 24,  9,
-  3, 36, 11, 10,  1,  3,  2, 36, 40,  2,115,  6,116, 42, 40, 28,115, 24, 48, 16,220,228,236,244,228,236, 18, 23, 57, 18, 57, 57,
- 17, 18, 57, 57, 18, 57, 57, 17, 18, 57, 17, 18, 23, 57, 49,  0, 16,212,228,236,244,228,236, 16,192, 17, 18, 23, 57, 18, 57, 57,
- 17, 18, 57, 57, 17, 57, 57, 18, 23, 57, 48,  1, 55, 23,  7, 30,  1, 21, 20,  6,  7, 23,  7, 39, 14,  1, 35, 34, 38, 39,  7, 39,
- 55, 46,  1, 53, 52, 54, 55, 39, 55, 23, 62,  1, 51, 50, 22, 19, 52, 38, 35, 34,  6, 21, 20, 22, 51, 50, 54,  3,123,207,114,206,
- 37, 36, 38, 40,209,114,207, 59,116, 61, 58,120, 61,207,113,207, 37, 37, 38, 38,207,115,207, 55,116, 64, 60,117, 92,155,114,112,
-158,157,113,113,156,  3,225,209,115,206, 59,119, 62, 63,115, 57,207,113,207, 40, 38, 37, 37,207,115,206, 62,118, 58, 64,116, 56,
-206,115,207, 39, 37, 36,254,124,112,154,154,112,114,156,157,  0,  0,  1,  0, 82,  0,  0,  4,195,  5,213,  0, 24,  0,198, 64, 70,
- 16,  2, 17, 22, 17, 15,  2, 14, 15, 22, 22, 17, 15,  2, 16, 15,  8, 13,  8, 14,  2, 13, 13,  8, 66, 15, 11,  9,  4,  0,211, 23,
-  6, 18, 11,211, 20,  9, 16, 13,129,  2, 12,  9, 14,  3,  5, 22, 15,  3, 21, 18, 16,  3,  0, 17,102, 19,  0,101,  1, 28, 13,102,
- 10,  5,101,  7,  3, 25, 16,212, 60,236, 50,236,252,236, 50,236, 18, 23, 57, 18, 57, 57, 17, 23, 57, 49,  0, 47,228, 50,212, 60,
-236, 50,212, 60,236, 50, 17, 18, 57, 48, 75, 83, 88,  7, 16,  5,237,  7, 16,  8,237,  7, 16,  8,237,  7, 16,  5,237, 89, 34,  1,
- 75,176, 12, 84, 88,189,  0, 25,255,192,  0,  1,  0, 25,  0, 25,  0, 64, 56, 17, 55, 56, 89, 64, 40,134, 15,144, 15,166, 15,160,
- 15,181, 15,  5, 39, 12, 39, 13, 39, 14, 41, 16, 40, 17, 40, 18, 55, 14, 57, 16,135, 12,136, 18,166, 13,165, 14,170, 16,169, 17,
- 14, 93,  0, 93,  1, 33, 17, 35, 17, 33, 53, 33, 53, 39, 33, 53, 33,  1, 51,  9,  1, 51,  1, 33, 21, 33,  7, 21, 33,  4,141,254,
- 99,201,254, 96,  1,160, 84,254,180,  1,  8,254,195,190,  1,123,  1,121,191,254,194,  1,  8,254,181, 84,  1,159,  1,199,254, 57,
-  1,199,123, 51,155,123,  2, 74,253, 68,  2,188,253,182,123,155, 51,  0,  0,  0,  0,  2,  1,  4,254,162,  1,174,  5,152,  0,  3,
-  0,  7,  0, 28, 64, 13,  1,245,  0,  4,245,  5,  8,  4,  0,  5,  6,  2,  8, 16,220, 60,236, 50, 49,  0, 16,212,236,212,236, 48,
-  1, 17, 35, 17, 19, 17, 35, 17,  1,174,170,170,170,  1,152,253, 10,  2,246,  4,  0,253, 10,  2,246,  0,  0,  0,  0,  2,  0, 92,
-255, 61,  3,162,  5,240,  0, 11,  0, 62,  0,145, 64, 60, 47, 48, 42,  6,  0, 23, 29, 48, 54,  4, 13, 39,138, 38, 13,138, 12, 42,
-198, 38,197, 35, 16,198, 12,197, 60,145, 35, 63, 47,  6,  0, 23, 48,  4, 19, 29, 45,  9, 54,  3, 19, 87, 57, 45, 87, 32,  9, 87,
- 12, 34, 26, 57, 38, 34,  3, 87, 51, 63, 16,220,236,228,196,212,228,236,212,236, 16,238, 17, 57, 17, 18, 57, 17, 23, 57, 57, 49,
-  0, 16,196,244,228,236, 16,230,238, 16,238, 16,238, 17, 23, 57, 57, 57, 17, 18, 57, 48,  1, 75,176, 10, 84, 75,176, 11, 84, 91,
- 75,176, 12, 84, 91, 75,176, 14, 84, 91, 88,189,  0, 63,  0, 64,  0,  1,  0, 63,  0, 63,255,192, 56, 17, 55, 56, 89,  1, 14,  1,
- 21, 20, 22, 23, 62,  1, 53, 52, 38, 19, 21, 46,  1, 35, 34,  6, 21, 20, 23, 22, 23, 30,  1, 21, 20,  6,  7, 30,  1, 21, 20,  6,
- 35, 34, 38, 39, 53, 30,  1, 51, 50, 54, 53, 52, 47,  1, 46,  1, 53, 52, 54, 55, 46,  1, 53, 52, 54, 51, 50, 22,  1,123, 63, 62,
-139,250, 63, 62,143,204, 83,143, 56, 97,108,206, 26, 14,211,131, 92, 93, 62, 57,204,173, 73,154, 88, 87,148, 58,102,113,221, 25,
-214,128, 93, 91, 59, 59,200,166, 73,153,  3,168, 46, 90, 46, 76,133,135, 45, 91, 46, 75,136,  2,147,164, 39, 39, 80, 71, 90,115,
- 15,  8,119,154,101, 90,140, 53, 52,109, 64,142,168, 29, 29,164, 39, 39, 84, 76,102,123, 14,120,153,102, 91,143, 49, 44,112, 69,
-130,159, 29,  0,  0,  2,  0,215,  5, 70,  3, 41,  6, 16,  0,  3,  0,  7,  0,146, 64, 14,  6,  2,206,  4,  0,205,  8,  1,100,  0,
-  5,100,  4,  8, 16,220,252,212,236, 49,  0, 16,252, 60,236, 50, 48,  0, 75,176, 10, 84, 75,176, 13, 84, 91, 88,189,  0,  8,  0,
- 64,  0,  1,  0,  8,  0,  8,255,192, 56, 17, 55, 56, 89,  1, 75,176, 12, 84, 75,176, 13, 84, 91, 75,176, 14, 84, 91, 75,176, 23,
- 84, 91, 88,189,  0,  8,255,192,  0,  1,  0,  8,  0,  8,  0, 64, 56, 17, 55, 56, 89,  1, 75,176, 15, 84, 75,176, 25, 84, 91, 88,
-189,  0,  8,  0, 64,  0,  1,  0,  8,  0,  8,255,192, 56, 17, 55, 56, 89, 64, 17, 96,  1, 96,  2, 96,  5, 96,  6,112,  1,112,  2,
-112,  5,112,  6,  8, 93,  1, 51, 21, 35, 37, 51, 21, 35,  2, 94,203,203,254,121,203,203,  6, 16,202,202,202,  0,  0,  3,  1, 27,
-  0,  0,  6,229,  5,205,  0, 23,  0, 47,  0, 73,  0, 67, 64, 38, 61,203, 62, 58,204, 65,202, 36, 49,203, 48, 52,204, 71,202, 24,
-201,  0,200, 36,201, 12, 55, 97, 68, 61, 48, 94, 42,  9,  6, 68, 94, 30,  9,  6, 18, 74, 16,220,204,252,236, 16,254,237, 50, 16,
-238, 49,  0, 47,238,246,254,253,238,214,238, 16,253,238,214,238, 48,  1, 50,  4, 23, 22, 18, 21, 20,  2,  7,  6,  4, 35, 34, 36,
- 39, 38,  2, 53, 52, 18, 55, 54, 36, 23, 34,  6,  7, 14,  1, 21, 20, 22, 23, 30,  1, 51, 50, 54, 55, 62,  1, 53, 52, 38, 39, 46,
-  1, 23, 21, 46,  1, 35, 34,  6, 21, 20, 22, 51, 50, 54, 55, 21, 14,  1, 35, 34, 38, 53, 52, 54, 51, 50, 22,  4,  0,152,  1,  7,
-109,109,108,108,109,109,254,249,152,152,254,249,109,109,108,108,109,109,  1,  7,152,131,226, 94, 94, 96, 96, 94, 94,226,131,132,
-227, 94, 93, 93, 94, 92, 94,227,167, 66,130, 66,149,167,171,155, 64,122, 66, 67,137, 70,216,251,251,216, 73,136,  5,205,110,109,
-109,254,250,154,152,254,251,109,109,110,110,109,109,  1,  5,152,154,  1,  6,109,109,110,103, 94, 94, 94,229,130,129,227, 94, 94,
- 95, 95, 94, 93,226,131,133,227, 93, 94, 94,245,129, 33, 32,175,157,159,174, 31, 34,127, 29, 28,244,208,209,242, 28,  0,  0,  0,
-  0,  3,  0,115,  1,213,  3, 59,  5,240,  0,  3,  0, 30,  0, 41,  0, 95, 64, 51, 40,  7, 37,  4, 31, 18, 24, 16,  2,227,  0, 31,
-221, 16,  0,225, 37,221,  5, 10, 25,223, 24,222, 21,221, 10,224, 28,145, 42,  0, 24, 13, 31, 16, 34,  6,  2,  1, 40, 17,  6,107,
-  4,108, 24, 34,107, 13, 42, 16,220,236,204,252,236, 50, 50,192,192, 17, 18, 57, 57, 17, 18, 57, 49,  0, 16,244,228,252,244,236,
- 16,196,238,237,214,238, 16,238, 17, 18, 57, 18, 57, 17, 57, 57, 48, 19, 33, 21, 33,  1, 17, 35, 53, 14,  1, 35, 34, 38, 53, 52,
- 54, 59,  1, 53, 52, 38, 35, 34,  6,  7, 53, 62,  1, 51, 50, 22,  5, 34,  6, 21, 20, 22, 51, 50, 54, 61,  1,139,  2,176,253, 80,
-  2,174,149, 44,144, 93,128,152,191,188,182,117,117, 62,136, 68, 73,145, 69,183,179,254,236,161,126, 98, 82,104,130,  2, 80,123,
-  2,184,254, 64,112, 63, 68,135,113,135,138,  4, 91, 91, 34, 34,127, 28, 28,176,240, 67, 79, 64, 77,144,114, 29,  0,  2,  0,158,
-  0,141,  4, 37,  4, 35,  0,  6,  0, 13,  0,134, 64, 73,  3,232,  4,  5,  4,  2,232,  1,  2,  5,  5,  4,  2,232,  3,  2,  6,  0,
-  6,  1,232,  0,  0,  6, 10,232, 11, 12, 11,  9,232,  8,  9, 12, 12, 11,  9,232, 10,  9, 13,  7, 13,  8,232,  7,  7, 13, 66,  9,
-  2, 11,  4,231,  7,  0,166, 14, &n